[Distutils] easy_install doesn't handle extras properly
Jim Fulton
jim at zope.com
Wed Aug 22 20:52:39 CEST 2007
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 at 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 at 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 at zope.com Python Powered!
CTO (540) 361-1714 http://www.python.org
Zope Corporation http://www.zope.com http://www.zope.org
More information about the Distutils-SIG
mailing list