[Python-Dev] re-ordering sys.path

Neil Schemenauer nas@python.ca
Thu, 6 Sep 2001 11:19:35 -0700


jerome.marant@free.fr (Jérôme Marant) in debian-python@lists.debian.org:
> I am the python-unit maintainer (upstream program called PyUnit)
>  for python 1.5 and 2.0.
>  PyUnit has been included in Python 2.1. but I won't give it away
>  since it does evolve separately from Python releases.
>
>  However, because of PYTHONPATH, the latest version of the module
>  will never be loaded by the interpreter.
>
>  In 2.0 (and quite the same in 2.1), PYTHONPATH looks like:
>
>  amboise:~$ python2 -c 'import sys; print sys.path'
>  ['',
>   '/usr/lib/python2.0',
>   '/usr/lib/python2.0/plat-linux2',
>   '/usr/lib/python2.0/lib-dynload',
>   '/usr/local/lib/python2.0/site-packages',
>   '/usr/local/lib/site-python',
>   '/usr/lib/python2.0/site-packages',
>   '/usr/lib/site-python']
>
>  So, if the interpreter find the module in its core modules, it
>  will never see that a newer version of the module was installed
>  in site-packages.
>
>  Usually, packages installed separately (site-packages) from the
>  core python modules are more recent that the same modules of
>  the core, because they evolve faster than python releases.
>  Manual installations of modules (/usr/local) are usually done
>  when packages are not up-to-date, so more recent than site modules.
>
>  This is a well known problem since python-xml (PyXML) is both
>  in 2.0 core and in a separate package and PyXML people have
>  implemented an ugly hack to work this around.
>
>  So, I'm proposition to reorganize the PYTHONPATH like this :
>
>  ['',
>   '/usr/local/lib/python2.0/site-packages',
>   '/usr/local/lib/site-python',
>   '/usr/lib/site-python'
>   '/usr/lib/python2.0/site-packages',   
>   '/usr/lib/python2.0',
>   '/usr/lib/python2.0/plat-linux2',
>   '/usr/lib/python2.0/lib-dynload',
>   
>  ] 
>
>  I know that it could lead to some problems but not
>  that much I think.
>
>  Thanks in advance for your comments.
>
>  PS: it would be usefull to talk to Brendan O'Dea who chose the
>  same ordering for Perl packages.

Will this work?  If so, why is it not already done?

  Neil