[Distutils] error: None

Phillip J. Eby pje at telecommunity.com
Fri Jun 9 20:00:35 CEST 2006

At 11:59 AM 5/22/2006 -0400, Nathan R. Yergler wrote:
>Thanks to Phillip for the insight into the interaction between
>command-line arguments and options.  So another question regarding error
>reporting.  When I so something like:
>$ PYTHONPATH=lib/ python ez_setup.py --install-dir lib/ --script-dir
>bin/ --site-dirs lib/ zope.testing
>setuptools is bootstrapped correctly, and zope.testing and its
>dependencies are downloaded and installed.  However, at the end of the
>run you get a message like:
>Installed /home/nathan/Projects/zope.i18n/lib/setuptools-0.6b1-py2.4.egg
>Processing dependencies for setuptools==0.6b1
>error: None
>Does anyone have any insights into this?

Okay, I finally tracked this down.  It's actually the same error as the:

"error: No urls, filenames, or requirements specified (see --help)"

message you were getting before.  Or rather, they're both caused by a 
freaky code fallthrough bug in ez_setup.py.

If, and only if, you are installing setuptools when it is not available on 
the local system, ez_setup tries to run easy_install *twice* with more or 
less the same arguments.  If you do *not* have any non-option arguments, 
you will get the first message.  If you *do*, then easy_install gets an 
IOError because it tries to read from the temporarily-downloaded 
setuptools.egg that has already been deleted.  The distutils sees this 
IOError and unhelpfully (not to mention idiotically) outputs "error: None" 
and aborts!

So I've fixed the source of both problems in the SVN trunk, and the 0.6b3 
release (probably today) will have an ez_setup.py with the fix.

More information about the Distutils-SIG mailing list