I'd like to share an experiment that I find puzzling and see if anyone could share some insight. Perhaps I'm doing something incorrectly. So, I have an links directory: [jim@ds9 tmp]$ ls links demo-1.0-py2.4.egg demoneeded-1.0-py2.4.egg index.html [jim@ds9 tmp]$ cat links/index.html <html><body> <a href="demo-1.0-py2.4.egg">demoneeded-1.0-py2.4.egg</a> <a href="demoneeded-1.0-py2.4.egg">demoneeded-1.0-py2.4.egg</a> </body></html> and an empty eggs directory: [jim@ds9 tmp]$ ls eggs Note that demo depends on demoneeded, without any qualifiers. I run easy_setup (0.6b3): [jim@ds9 tmp]$ /usr/local/python/2.4/bin/easy_install -q \ -f file:///home/jim/tmp/links/index.html -m -deggs demo and get the eggs I expect. [jim@ds9 tmp]$ ls eggs demo-1.0-py2.4.egg demoneeded-1.0-py2.4.egg I update the links with new versions of demo and demoneeded: [jim@ds9 tmp]$ ls links demo-1.0-py2.4.egg demoneeded-1.0-py2.4.egg index.html demo-1.1-py2.4.egg demoneeded-1.1-py2.4.egg [jim@ds9 tmp]$ cat links/index.html <html><body> <a href="demo-1.0-py2.4.egg">demoneeded-1.0-py2.4.egg</a> <a href="demoneeded-1.0-py2.4.egg">demoneeded-1.0-py2.4.egg</a> <a href="demo-1.1-py2.4.egg">demoneeded-1.1-py2.4.egg</a> <a href="demoneeded-1.1-py2.4.egg">demoneeded-1.1-py2.4.egg</a> </body></html> I haven't changed the unqualified dependence on demoneeded. Now I rerun easy_install: [jim@ds9 tmp]$ /usr/local/python/2.4/bin/easy_install -q \ -f file:///home/jim/tmp/links/index.html -m -deggs demo and I get a new demo egg even though I didn't elect to upgrade: [jim@ds9 tmp]$ ls eggs demo-1.0-py2.4.egg demo-1.1-py2.4.egg demoneeded-1.0-py2.4.egg 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. Is special consideration given to file URLs? (If so, this makes test writing a bit more challenging.) If I supply the upgrade option, I get: [jim@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@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. 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? 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