
Guido van Rossum <guido@python.org> writes:
However, I still think that people creating --enable-shared installations are misguided: You gain nothing (IMO), and you lose a number of benefits:
Do you understand why people have always been asking for this? Are they all misguided? It really is a FAQ (3.30). Why?
People give various reasons: - (from #400938): "Using a shared library should have an advantage if you're running multiple instances of Python (be it standalone interpreter or embedded applications)." This is nonsense, of course: the interpreter executable is shared just as well. - libraries should be shared (405931). There is often no further rationale given, but I believe "... because that saves disk space" is the common implication. Given that /usr/local/bin/python would be the only application of libpythonxy.so on most installation, this rationale is questionable. - it simplifies embedding (with the variant "embedding is not possible without it"). Some people are simply not aware that a libpython.a is also installed. In 497102, James Henstridge argues that PyXPCOM mandates a shared libpython, as does gnome-vfs. He might have a case here, but I think a special-case shared library that exposes all Python symbols might be more appropriate. - on the same topic, the PostgreSQL documentation claims that you cannot build PL/Python without a shared libpython. They admit that it might work to use the static library, and that it is just the fault of their build system to not support this scenario: http://www.postgresql.org/idocs/index.php?plpython-install.html - For embedded applications, people also bring up "allows sharing at run-time" argument). In that case, it is factually true. However, even without a shared libpython, multiple copies of the same embedded executable (or shared library) will still share code. - The Windows port uses a python DLL. To summarize, it probably does have advantages for people who want to embed Python in applications that are themselves shared libraries. I think those advantages are outweighed by the problems people may get with a shared libpython, and who never want to embed Python. Just my 0.02EUR, Martin