Okay, I think your evidence can then be discounted. Really, any app that relies on the publicly installed Python runs a serious risk of breaking when that Python gets updated, regardless of whether the ABI changes or not.
On Mon, Jun 21, 2021 at 2:46 AM Baptiste Carvello < email@example.com> wrote:
Le 18/06/2021 à 21:00, Guido van Rossum a écrit :
Can you elaborate on that use case? Which two applications are you thinking of, and what was your goal in driving them? This sounds interesting but I haven’t encountered this myself.
Well, I'm not sure the case I was thinking of is still relevant to anything: that was plotting 3D crystal models using crystallography library CCTBX  and visualization application Mayavi , some 15-20 years ago. BTW, I misremembered a bit: only CCTBX insisted on using a vendored python ("libtbx.python"), Mayavi used the system python. Anyway, it was more pain to make Mayavi use libtbx.python, than to make CCTBX work with the system python.
Also, I must admit that even applications embedding the system python can have some limitations. For example, GIMP and GDB can execute python scripts, but their API can't be "imported" from the outside. Which means no arguments passed to the script over the command line ("sys.argv"), no venvs, no REPL. But at least you can install additional packages (pip / distro package manager) and limitations can be more or less hacked around. For a sophisticated example, the debugger extension Voltron  provides REPL access to GDB objects over a client-server connexion.
On Fri, Jun 18, 2021 at 09:44 Baptiste Carvello <firstname.lastname@example.org mailto:email@example.com> wrote:
Le 18/06/2021 à 08:50, Paul Moore a écrit : > > IMO it doesn't. However for certain applications (the sort of
> was referring to) - where the user is writing their own scripts and > the embedding API is used merely to expose an interface to the
> language, dynamically linking to whatever version of Python the
> has installed can be precisely the right thing to do - the user
> access to the version of the language they expect, the installed > packages they expect to see, etc. As a user, I second this. When trying to drive applications from the outside (as opposed to extending them through plugins), it is
when two applications won't work together because each one insists on using its own vendored python. Of course, there are often real blockers, such as incompatible event loops. But not always… Cheers, Baptiste _______________________________________________ Python-Dev mailing list -- firstname.lastname@example.org <mailto:email@example.com> To unsubscribe send an email to firstname.lastname@example.org <mailto:email@example.com> https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at
Code of Conduct: http://python.org/psf/codeofconduct/
-- --Guido (mobile)
Python-Dev mailing list -- firstname.lastname@example.org To unsubscribe send an email to email@example.com https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://firstname.lastname@example.org/message/KP3SE6UW... Code of Conduct: http://python.org/psf/codeofconduct/