[Distutils] Pypy and site.py and makepath
P.J. Eby
pje at telecommunity.com
Sat Mar 13 18:25:50 CET 2010
At 05:54 PM 3/13/2010 +0100, Lennart Regebro wrote:
>On Sat, Mar 13, 2010 at 17:42, Lennart Regebro <regebro at gmail.com> wrote:
> > On Sat, Mar 13, 2010 at 16:07, P.J. Eby <pje at telecommunity.com> wrote:
> >> 2. It is finding a valid site.py, but the standard import protocols (i.e.,
> >> imp.find_module/load_module and
> >> path_importer_cache[modulename].load_module()) are not working correctly
> >> when called on an existing module.
> >
> > Yeah, this seems like the problem. It imports it, but neither globals
> > or locals change. It's hard to say exactly what the problem is as I
> > can't debug what happens in CPython, as no matter what I put into the
> > local site.py, nothing seems to happen. So I't hard to me to check
> > what the behaviour *should* be, but it seems clear that this is where
> > the difference is.
>
>Actually, I suddenly remembered -v, and ran python -v. and the local
>site.py is *not* being imported, which explains why no matter what I
>write in it it gets ignored. So there seems to be at least two
>differences here.
Perhaps PyPy also has an optimization that makes it use a built-in
version of site.py, instead of using standard import logic. Finding
that would be a bit harder than tracking down the imp problem,
though, as it doesn't appear that site is a "builtin" in PyPy the way
imp is. It does appear to be imported by
http://codespeak.net/pypy/dist/pypy/bin/py.py however.
(I'm assuming, btw, that by "local site.py" you mean the patching
site.py, not a site.py located in say, PyPy's site-packages directory.)
More information about the Distutils-SIG
mailing list