[Distutils] easy_install prefers source?

Phillip J. Eby pje at telecommunity.com
Tue Feb 27 16:17:37 CET 2007

At 08:17 PM 2/26/2007 -0500, Nathan R. Yergler wrote:
>At the PyCon sprints Jim and I were working with easy_install and
>working_env under Windows and noticed some odd behavior.  When within
>an activated working environment, attempting to do something like:
>c:\...>easy_install lxml==1.1
>attempts to retrieve the source distribution rather than the available
>Windows binary egg for PyPI.

What windows binary egg for PyPI?  If you mean the one for 1.1, the problem 
is that easy_install isn't reading that page, because it's a "hidden" 
version.  See:

$ python -m easy_install -nvv lxml==1.1
Searching for lxml==1.1
Reading http://cheeseshop.python.org/pypi/lxml/
Reading http://codespeak.net/lxml
Found link: http://codespeak.net/lxml/lxml-1.2.tgz
Found link: http://codespeak.net/lxml/lxml-1.1.2.tgz
Found link: http://codespeak.net/lxml/lxml-1.1.1.tgz
Found link: http://codespeak.net/lxml/lxml-1.1.tgz
Found link: http://codespeak.net/lxml/lxml-1.0.4.tgz
Found link: http://codespeak.net/lxml/lxml-1.0.3.tgz
Found link: http://codespeak.net/lxml/lxml-1.0.2.tgz
Found link: http://codespeak.net/lxml/lxml-1.0.1.tgz
Found link: http://codespeak.net/lxml/lxml-1.0.tgz
Found link: http://codespeak.net/lxml/lxml-0.9.2.tgz
Found link: http://codespeak.net/lxml/lxml-0.9.1.tgz
Found link: http://codespeak.net/lxml/lxml-0.9.tgz
Found link: http://codespeak.net/lxml/lxml-0.8.tgz
Found link: http://codespeak.net/lxml/lxml-0.7.tgz
Found link: http://codespeak.net/lxml/lxml-0.6.tgz
Found link: http://codespeak.net/lxml/lxml-0.5.1.tgz
Found link: http://codespeak.net/lxml/lxml-0.5.tgz
Found link: 
Found link: http://codespeak.net/svn/lxml/trunk#egg=lxml-dev
Found link: http://codespeak.net/svn/lxml/branch/lxml-1.2#egg=lxml-1.2bugfix
Reading http://cheeseshop.python.org/pypi/lxml/1.2.1
Found link: 
Best match: lxml 1.1
Downloading http://codespeak.net/lxml/lxml-1.1.tgz

>   Is this the expected behavior?  I would
>have expected easy_install to prefer binary eggs.

It only prefers what it finds, and currently it won't find Cheeseshop files 
for "hidden" versions of a pacakge unless you include a -f to that page, 
e.g. -f http://cheeseshop.python.org/pypi/lxml/1.1 in this case.

More information about the Distutils-SIG mailing list