[Distutils] setuptools 0.6a10/a9 conflict
Phillip J. Eby
pje at telecommunity.com
Wed Feb 15 00:25:20 CET 2006
At 04:59 PM 2/14/2006 -0600, Ian Bicking wrote:
>I just installed setuptools 0.6a10 on a host, and that host had a copy
>of 0.6a9 in site-packages. 0.6a10 got installed into a different
>directory that had been set up like the Administrator Install
>instructions (that is, add the directory to the path in sitecustomize).
> The site-packages (0.6a9) version had a setuptools.pth file pointing
>to it (in site-packages itself). The new 0.6a10 also had a
>setuptools.pth file, but in a later path.
>After that, when I ran easy_install it imported from the 0.6a9
>pkg_resources module, not the 0.6a10 version. Once I deleted the old
>versions it worked again. Presumably it should have given a version
>error (or just magically worked correctly); it shouldn't have imported
>from the wrong version.
>Not sure if setuptools should have caught that, or what.
In an ideal world, maybe. In practice, conflict detection today only
checks for non-egg packages, since in principle you can just require() what
you want and not worry about it. In practice, that only works for scripts
right now - and never for setuptools itself, which can't tolerate versions
installed in multiple locations. :(
I'm planning to overhaul the conflict detection and resolution machinery in
0.7, as it's currenly collapsing under the weight of also having to deal
with .egg-info packages slapped into the same directory. I have also given
a little bit of thought to the issue of overriding another version of
setuptools (without using PYTHONPATH), but don't have any solutions yet.
More information about the Distutils-SIG