[IPython-dev] Weird PYTHONPATH, etc. issue
d.warde.farley at gmail.com
Thu Sep 27 15:12:28 EDT 2012
On Thu, Sep 27, 2012 at 8:59 AM, Erik Bray <erik.m.bray at gmail.com> wrote:
> I don't really see this so much as a setuptools problem though. Your
> sysadmin shouldn't be using PYTHONPATH for this. I've had to battle
> this a bit at my own institution. The problem with using PYTHONPATH
> to add site-specific site-packages directories are many-fold. For
> one, if the user then messes with their PYTHONPATH they suddenly can't
> `import numpy` anymore and come complaining that numpy broke or
> something like that. PYTHONPATH should be there as an easy way for
> the user to optionally add additional paths to the front of their
> sys.path. So when it's used like this it basically takes away your
> freedom to customize anything on your path at all since the contents
> of PYTHONPATH come first. Sure you can always add your stuff to the
> front of PYTHONPATH too, but a lot of users get confused by that.
Prepending to an environment variable to override things is a pretty
standard UNIXy thing to do. Same thing appears in Java with CLASSPATH,
etc., and it pretty much mirrors PATH in that respect. I guess it
could confuse novices, you're right.
> What the sysadmin *should* be doing is adding a sitecustomize.py
> somewhere on the standard sys.path (in lib/pythonX.Y/site-packages for
> example) and adding any custom paths there, while leaving your
> PYTHONPATH alone. As mentioned elsewhere in this thread
> usercustomize.py can also be used.
Are you sure this would solve the issue? If all of the stuff in all of
the site-packages directories is processed before PYTHONPATH is even
touched, then I guess it might.
More information about the IPython-dev