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)[EMAIL PROTECTED]:~/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)[EMAIL PROTECTED]:~/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:[EMAIL PROTECTED]                Python 
Powered!
CTO                             (540) 361-1714                  
http://www.python.org
Zope Corporation        http://www.zope.com             http://www.zope.org



_______________________________________________
Distutils-SIG maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to