[Distutils] setuptools: extras_require

Phillip J. Eby pje at telecommunity.com
Thu Jul 14 05:11:29 CEST 2005


At 10:05 PM 7/13/2005 -0500, Ian Bicking wrote:
>Phillip J. Eby wrote:
>>At 02:27 AM 7/13/2005 -0500, Ian Bicking wrote:
>>
>>>I can't see any way to get extras_require to be installed, unless some
>>>other package indicates an extra feature in the package that needs to be
>>>supported.
>>>
>>>For example, if you want HTTP support in Paste, you can install
>>>WSGIUtils.  But this isn't required.  How can I get WSGIUtils installed?
>>
>>Assuming the "extra" in Paste is "HTTP", you would use:
>>     easy_install Paste[HTTP]
>>Even if Paste itself is already installed, this will ensure that anything 
>>in extras_require['HTTP'] gets installed too.
>
>How can I do this if I have an unpacked version of Paste on disk?  I can 
>install that with "easy_install.py .", but I can't do "easy_install.py .[HTTP]"

     easy_install.py . Paste[HTTP]

Or:

     python setup.py develop
     easy_install.py Paste[HTTP]

In either case, the Paste requirement will be met by the installed (or 
"developed") version.

Of course, it seems like it would be best to add an '--extras' argument to 
the 'install' and 'develop' commands, as then you could just use 
--extras=HTTP as an argument to either.  I'll look at that for a future 
release.


>Is there a way to install the dependencies with setup.py? "python setup.py 
>depends" doesn't do much of anything.

That's because it's an undocumented command that was never finished.  It 
was based on a much older idea of how to accomplish dependency 
installation, that didn't involve eggs.  It'll go away or be replaced by 
something useful eventually.  :)



More information about the Distutils-SIG mailing list