[Distutils] Anyone stuck with easy_install / has .pth file issues -- this is for you!
P.J. Eby
pje at telecommunity.com
Mon May 4 22:46:14 CEST 2009
At 01:11 PM 5/4/2009 -0700, Garrett Cooper wrote:
>You're right -- it doesn't protect against the following (><):
>
>/full/path/to/package.egg
>./package.egg
By duplicates, I meant 'package-1.0.egg' and 'package-1.1.egg', not
alternate paths to the same file.
(As for the '.' replacement, you might want to look at what I said
more closely.)
>BTW, wasn't -m deprecated?
No.
> I mean, -m's `delivered' functionality
>doesn't even work
You'll need to be more specific there: I don't know what you're
saying "doesn't work", let alone *how*, what behavior you expect, or
what you're seeing instead.
>because python stores all loaded package / module
>entries in .pth files as keys in a dictionary _anyhow_
I also don't know what you mean here. .pth file contents are added
to sys.path, not a dictionary. Unless you're talking about
sys.path_importer_cache or something, in which case I still don't see
the connection to anything else at hand.
>I have no idea how -xN factor into this though
The original docs said to use -m before uninstalling, but they really
should say -mxN to exclude scripts and avoid installing (or
uninstalling!) dependencies. The docs are broken (or at any rate,
suboptimal) and should be fixed.
>- The duplicates erasure was just gravy, and purely an exercise on my
>part getting used to set's in python. The real point was the missing
>package in .pth functionality, caused by easy_install / setuptools
>lacking proper MP-safe logic.
I'm going to guess that by "MP" you mean multiprocessing, in which
case I would say, yes, easy_install assumes that you are not running
multiple simultaneous installations to the same directory.
More information about the Distutils-SIG
mailing list