This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author ned.deily
Recipients doughellmann, eric.araujo, ncoghlan, ned.deily, ronaldoussoren, tarek
Date 2010-11-02.23:37:50
SpamBayes Score 3.2315504e-07
Marked as misclassified No
Message-id <1288741072.94.0.247653460111.issue10263@psf.upfronthosting.co.za>
In-reply-to
Content
The issue here is not unique to OS X. I see the same behavior on Linux with a built-from-source Python 3.2a3 and Distribute 0.6.14. (As I noted earlier, Debian and presumably various other distributors package a patched version of setuptools / Distribute which does not do the "bootstrap" manipulations so you likely wouldn't see the problem.)

importlib.import_module('site') finds the standard library version whether s/D is installed or not.  But that is to be expected.  This problem is unique to the site module because the path manipulation stuff happens first and in the normal environment (not -m), sys.modules['site'] will always be pointing to the standard lib version; the s/D bootstrap erases its tracks so to speak.

Just to be clear, I don't think there is any Python problem here.  It's all due to how s/D tries to manage import order.  The only way around it is for s/D to recognize and support the -m site case.

Here's what is in easy_install.pth, with my {} annotations:

import sys; sys.__plen = len(sys.path)
{... an entry for the first easy_installed distribution ... }
./appscript-0.21.1-py2.7-macosx-10.3-fat.egg
{... and entries here for any other easy_installed distributions ...}
{... ending with this last one for distribute or setuptools itself ...}
./distribute-0.6.8-py2.7.egg
[ ... which creates the _egginsert attribute used here }
import sys; new=sys.path[_sys.__plen:]; del sys.path[sys.__plen:]; p=getattr(sys,'__egginsert',0); sys.path[p:p]=new; s
ys.__egginsert = p+len(new)

The distribute egg contains a site.py at the top level.  If you are interested in looking at it, it's probably best to just install distribute and look at what happens in site-packages.
History
Date User Action Args
2010-11-02 23:37:53ned.deilysetrecipients: + ned.deily, ronaldoussoren, ncoghlan, tarek, eric.araujo, doughellmann
2010-11-02 23:37:52ned.deilysetmessageid: <1288741072.94.0.247653460111.issue10263@psf.upfronthosting.co.za>
2010-11-02 23:37:51ned.deilylinkissue10263 messages
2010-11-02 23:37:50ned.deilycreate