[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 mailing list