Specifying optional dependencies in pypi python setup.py

Calvin Cheng picture Calvin Cheng · May 13, 2012 · Viewed 12.6k times · Source

How do I specify optional dependencies in python's setup.py ?

Here's my stab at specifying an optional dependency for an open source library of mine but it doesn't seem to do much.

https://github.com/od-eon/django-cherrypy/blob/master/setup.py

Specifically extra_requires in this snippet:

setup(
    name='django-cherrypy',
    version='0.1',
    packages=packages,
    license='LICENSE',
    description='cherrypy, running under django',
    long_description=open('README.md').read(),
    author='Calvin Cheng',
    author_email='[email protected]',
    install_requires=['cherrypy-wsgiserver'],
    extra_requires=['newrelic'],
    url='https://github.com/od-eon/django-cherrypy',
)

Suggestions?

Answer

voithos picture voithos · May 13, 2012

You've got an incorrect keyword. It's extras_require, and it's supposed to be a dict.

setup(
    name="django-cherrypy",
    ...
    extras_require = {
        'mysterious_feature_x':  ["newrelic"]
    }
)