[Distutils] setuptools: extras_require
Phillip J. Eby
pje at telecommunity.com
Wed Jul 13 17:52:12 CEST 2005
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.
> Or, more specifically, there's a bunch of examples distributed in the
>Paste source distribution; these examples require lots of extra
>software, even if Paste doesn't. How can I easily get all the examples
>working?
Define an "examples" extra, then use:
easy_install Paste[examples]
Note, by the way, that if the examples need the HTTP extra, then you can
specify that like this:
setup(
...
extras_require = dict(
HTTP = ['WSGIUtils'],
examples = ['Paste[HTTP]', ...other stuff here...],
)
)
That is, it's okay to have cyclical dependencies; the dependency resolution
mechanism is smart enough to figure out what to do.
More information about the Distutils-SIG
mailing list