easy_install doesn't handle extras properly
Suppose I have a package x that defines an extra y in version 2. In version 3, I remove the extra. Now, if I use easy_install to request x with extra y. easy_install will get the newest x, version 3, and complain that it has no extra y: (env25)jim@ds9:~/tmp$ easy_install -f /home/jim/tmp/x/dist 'x[y]' Searching for x[y] Best match: x 3 Processing x-3-py2.5.egg creating /home/jim/tmp/env25/lib/python2.5/x-3-py2.5.egg Extracting x-3-py2.5.egg to /home/jim/tmp/env25/lib/python2.5 Adding x 3 to easy-install.pth file Installed /home/jim/tmp/env25/lib/python2.5/x-3-py2.5.egg Processing dependencies for x[y] Traceback (most recent call last): ... pkg_resources.UnknownExtra: x 3 has no such extra feature 'y' If I tell easy_install to install a version < 3, then it gets version 2, which has the extra: (env25)jim@ds9:~/tmp$ easy_install -f /home/jim/tmp/x/dist 'x[y] <3' Searching for x[y]<3 Best match: x 2 Processing x-2-py2.5.egg ... Finished installing x[y]<3 easy_install is supposed to get the best distribution that satisfies a requirement, but it doesn't handle the extra part of the requirement. This is just another example of the burden of supporting the feature. Can we *please* get rid of the extras feature. It has some benefit, but I really don't think the benefit justifies the extra complexity in the model or the burden on tool developers. 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
participants (1)
-
Jim Fulton