[Distutils] easy_install download logic?

Phillip J. Eby pje at telecommunity.com
Thu Jun 22 00:36:48 CEST 2006

At 11:02 PM 6/21/2006 +0200, =?ISO-8859-2?Q?Micha=B3_Kwiatkowski?= wrote:
>I'm wondering how exactly easy_install looks up packages on PyPI.
>Right now I'm looking at two specific packages: moofx and SQLObject.
>Both have "Home page" link and both have eggs distributions listen on
>PyPI. The only difference is that moofx has also a "Download URL",
>which seems to be bad.
>When I do "easy_install SQLObject" it looks at PyPI, then link from
>"Home page" field and fall backs to egg:
>$ sudo easy_install SQLObject==0.7.0
>Searching for SQLObject==0.7.0
>Reading http://www.python.org/pypi/SQLObject/
>Reading http://sqlobject.org
>Best match: SQLObject 0.7.0
>But this doesn't happen for moofx.

Actually, it does.  Notice that you're using Python 2.3 -- moofx only has a 
Python 2.4 egg uploaded, and no source distro or 2.3 egg.

>It looks at PyPI, then at "Home
>page", then at "Download URL" and fails, ignoring eggs that are there:

Because the egg is for 2.4, and you're using 2.3.

>Having broken download URL is a bad thing, but shouldn't easy_install
>use eggs when they're available?

easy_install builds a complete index of the eggs or other downloadable 
distributions it finds, and then chooses the "best" one.

>And why search "Homepage" and
>"Download URL" links when eggs are already on PyPI?

To ensure that you can request the latest version; sometimes packagers 
don't update their PyPI pages as often.

More information about the Distutils-SIG mailing list