[Distutils] Where is easy_install finding this dependency from?

Dave Peterson dpeterson at enthought.com
Thu Aug 16 19:30:46 CEST 2007

We've gotten a number of problem reports from people trying to install 
our egg releases where there doesn't seem to be enough information being 
output to the console to really debug the problem.  Here's an 
illustrating log taken from a user's report:

C:\Documents and Settings\Gary>easy_install -f 
http://code.enthought.com/enstaller/eggs/windows/xp ets
Searching for ets
Reading http://code.enthought.com/enstaller/eggs/windows/xp
Best match: ets 2.5b2
Processing ets-2.5b2-py2.5.egg
Moving ets-2.5b2-py2.5.egg to c:\python25\lib\site-packages
Adding ets 2.5b2 to easy-install.pth file

Installed c:\python25\lib\site-packages\ets-2.5b2-py2.5.egg
Reading http://code.enthought.com/enstaller/eggs/source
Reading http://code.enthought.com/enstaller/eggs/source/unstable
Processing dependencies for ets
Searching for wx==2.6
Reading http://cheeseshop.python.org/pypi/wx/
Couldn't find index page for 'wx' (maybe misspelled?)
Scanning index of all packages (this may take a while)
Reading http://cheeseshop.python.org/pypi/
No local packages or download links found for wx==2.6
error: Could not find suitable distribution for Requirement.parse 

I've verified that our 'ets' egg does not even mention 'wx' in its 
setup.py so something else on this user's system must be requiring it, 
right?  But there's no information here about where the requirement came 

In fact the situation is even worse than that because easy_install 
outputs the line about processing dependencies for ets, but the next 
step is about some other egg's dependencies and not one of the 20+ 
dependencies actually listed in the 'ets' egg.

Can easy_install be updated to inform the user of which egg, or the 
first one if there are many of them, that generated the requirement on 
each thing it is trying to install?  I'm thinking of a change in the 
line that looks like:
    Searching for wx==2.6
to something like
    Searching for wx==2.6 (required by foo.bar-1.0)

It also seems like the error line should indicate which egg generated 
the requirement for 'wx==2.6', right?

-- Dave

More information about the Distutils-SIG mailing list