[Python-Dev] vendor-packages directory (original) (raw)

Bob Ippolito bob at redivi.com
Thu Sep 22 22:03:22 CEST 2005


On Sep 22, 2005, at 3:56 PM, Phillip J. Eby wrote:

At 12:04 PM 9/22/2005 -0700, Rich Burridge wrote:

Phillip J. Eby wrote:

Recently I asked about the inclusion of a "vendor-packages" directory for Python on the Python mailing list.

See the thread started at: http://mail.python.org/pipermail/python-list/2005-September/ 300029.html for the full reasoning behind this request, and the replies I received.

I'm with Terry on this, it needs a better rationale. Why can't you just add a .pth file to the site-packages directory? It seems that would address the issue nicely. (See http://docs.python.org/lib/module-site.html for documentation of the .pth mechanism, which would let you implement a separate vendor- packages directory without modifying Python, and would still allow local overrides of your vendor packages.) I understand how .pth files work. The rationale for requesting the "vendor-packages" approach, is that Python files, as supplied by the vendor (Sun, Apple, RedHat ...) with their operating system software, should go in a totally separate base directory, to differentiate them from Python files installed specifically at one site. Right - I'm proposing you add a vendor-packages.pth file to site- pacakges, that points to a "totally separate base directory" where those files are installed, not that you install the packages themselves under site-packages. To make sure we're disagreeing about the same thing <0.5_ _wink>, here's what I'm suggesting: 1. Install your packages in /usr/lib/python2.4/vendor-packages (so far, so good, we agree on this part) 2. Create a 'vendor-packages.pth' file in /usr/lib/python2.4/site- packages, containing the line: /usr/lib/python2.4/vendor-packages This will ensure that your vendor-packages "just work", unless locally overridden in site-packages.

vendor-packages.pth should look like this (evil, but practical):

import site; site.addsitedir('/usr/lib/python2.4/vendor-packages')

Otherwise packages like Numeric, PIL, PyObjC, etc. that take
advantage of pth files will not work when installed to that location.

-bob



More information about the Python-Dev mailing list