[Distutils] Puzzling easy_install behavior

Phillip J. Eby pje at telecommunity.com
Thu Jun 22 17:38:32 CEST 2006

At 11:15 AM 6/22/2006 -0400, Jim Fulton wrote:
>I find this a bit mysterious.  I thought easy_install wouldn't search
>the find links and index if existing distributions meet a requirement
>unless --upgrade was used.

--upgrade means "look for things remotely, even if you can satisfy the 
requirements locally"

>Is special consideration given to file

Yes, in that they are considered "local".

>If I supply the upgrade option, I get:
>    [jim at ds9 tmp]$ /usr/local/python/2.4/bin/easy_install -q \
>                   -f file:///home/jim/tmp/links/index.html -m -U -
>deggs demo
>    Couldn't find index page for 'demo' (maybe misspelled?)
>    Scanning index of all packages (this may take a while)
>    [jim at ds9 tmp]$ ls eggs
>    demo-1.0-py2.4.egg  demo-1.1-py2.4.egg  demoneeded-1.0-py2.4.egg
>So when I said upgrade, the index was checked, but when I installed
>the distributions initially, it wasn't.  Why?  Why is upgrade handled
>differently from an initial install.

Because upgrade really just overrides easy_install's preference to only 
look at the local machine to resolve dependencies.

>Also, it's a bit surprising that I didn't get the available upgrade
>for demoneeded.  Is that intended?  Are there plans for a recursive
>upgrade option?

The answer to both questions is "more or less."  :)  It's intended only in 
the sense that that's just what it does, and I don't plan to change 
it.  There are plans for recursive upgrade of some kind, but not to be 
added to easy_install.  Instead, that would be part of "nest", whenever I 
actually get some work done on it.

"nest" is supposed to be part of setuptools 0.7, but 0.6 final isn't out yet.

More information about the Distutils-SIG mailing list