[Python-Dev] Why does Mac OS X python share site-packages with apple python? (original) (raw)

Ned Deily nad at acm.org
Sat Mar 3 22:57:39 CET 2012


In article <5A0E2490-A743-4729-A752-D94524EA9840 at barrys-emacs.org>, Barry Scott <barry at barrys-emacs.org> wrote:

On my Mac OS X 10.7.3 System I have lots of python kits installed for developing extensions.

I'll just noticed that Python.org 2.7.2 uses the sames site-packages folder with Apple's 2.7.1. Since extensions compiled against Apple's 2.7.1 segv when used by python.org's 2.7.2 this is at least unfortunate. Here is the what is in sys.path for both versions. Notice /Library/Python/2.7/site-packages is in both.

That directory is in the default sys.path for both the Apple-supplied Python 2.7 in Lion and for the python.org Python 2.7's but that doesn't mean both versions use the same site-packages directory:

$ /usr/bin/python2.7 -c "import distutils.sysconfig;
print(distutils.sysconfig.get_python_lib())" /Library/Python/2.7/site-packages

$ /usr/local/bin/python2.7 -c "import distutils.sysconfig;
print(distutils.sysconfig.get_python_lib())" /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-pack ages

That means that, by default, packages installed by Distutils-based installs (setup.py, easy_install, pip, et al) will be installed to the corresponding directory for each version.

The python.org OS X Pythons (and built-from-source framework builds) add the Apple-specific directory to the search path in order to allow sharing of installed third-party packages between the two. The feature was added in 2.7 and 3.1+ and tracked in Issue4865 (http://bugs.python.org/issue4865). Please open a new issue on the tracker if you have examples of how this is causing problems. Thanks.

-- Ned Deily, nad at acm.org



More information about the Python-Dev mailing list