[Distutils] Bug in easy_install?

Phillip J. Eby pje at telecommunity.com
Tue Jun 6 18:03:25 CEST 2006


At 02:13 PM 6/4/2006 -0400, Jim Fulton wrote:

>If I give easy_install
>
>- an ordinary spec (e.g. "demo")
>
>- an -f option that points to a local directory containing a bunch of
>    eggs and that is not on sys,path,
>
>- ask it to install to some directory (-d), and
>
>- use the -m option
>
>it doesn't copy eggs found to the install directory even though
>the source directory isn't on sys.path.   The logic for deciding whether
>to copy seems to be:
>
>          # Installation is also needed if file in tmpdir or is not an
>egg
>          install_needed = install_needed or os.path.dirname(download)
>== tmpdir
>          install_needed = install_needed or not download.endswith
>('.egg')
>
>where install_needed starts out as false in this case because the
>spec is not a url.  The second part has no effect because the
>value if the download variable ends in .egg.
>
>The --always-copy documentation hints that distributions will be
>copied unless they are found in a directory sys.path, but I see no
>check.
>
>Why are the eggs not copied?

Because I'm an idiot, that's why.  :(  That logic predates --find-links 
being able to support local files without using file:// URLs.  At one 
point, it worked correctly because file:// URLs caused easy_install to copy 
them to a temporary directory.  Later, when I made that more efficient, it 
broke the install_needed logic.  :(

Too bad you didn't find this one *before* I released 0.6b2.  Oh well.  :)



More information about the Distutils-SIG mailing list