
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? Jim -- Jim Fulton mailto:jim@zope.com Python Powered! CTO (540) 361-1714 http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org

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. :)
participants (2)
-
Jim Fulton
-
Phillip J. Eby