2012-05-13 15 views
21

में वैकल्पिक निर्भरताओं को निर्दिष्ट करना मैं पाइथन के setup.py में वैकल्पिक निर्भरताओं को कैसे निर्दिष्ट करूं?pypi python setup.py

मेरा ओपन सोर्स लाइब्रेरी के लिए वैकल्पिक निर्भरता निर्दिष्ट करने पर मेरा स्टैब है लेकिन यह बहुत कुछ नहीं लगता है।

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

विशेष रूप extra_requires इस स्निपेट में:

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', 
) 

सुझाव?

+0

किसी और किसी भी एक शब्द "वैकल्पिक निर्भरता" अजीब लगता है? मैं करता हूँ। –

+0

मजेदार यह हो सकता है, लेकिन यह निश्चित रूप से बहुत समझ में आता है। आप वैकल्पिक सुविधाओं को डिज़ाइन कर सकते हैं जो प्रोग्राम में कुछ भी तोड़ने के बिना lib नहीं है (उदाहरण के लिए, एक अनुकूलन)। आमतौर पर, यह वास्तव में बहुत आसान है ** ** ** निर्भरताओं की घोषणा करने में सक्षम होने के लिए, जैसे [एनपीएम करता है] (https://stackoverflow.com/questions/18875674)। –

उत्तर

23

आपके पास एक गलत कीवर्ड है। यह extras_require है, और it's supposed to be a dict.

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

धन्यवाद @voithos। मुझे आरटीएफएम होना चाहिए। ऊपर दिया गया आपका अनुशंसित लिंक (http://peak.telecommunity.com/DevCenter/setuptools#declaring-extras-optional-features-with-their-own- निर्भरता) बहुत मदद करता है! –

संबंधित मुद्दे