2012-05-13 28 views
21

Làm cách nào để chỉ định các phụ thuộc tùy chọn trong số setup.py của python?Chỉ định phụ thuộc tùy chọn trong pypi python setup.py

Đây là lỗi của tôi khi chỉ định phụ thuộc tùy chọn cho thư viện nguồn mở của tôi nhưng có vẻ như không nhiều.

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

Cụ extra_requires trong đoạn này:

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

Gợi ý?

+0

Bất kỳ ai khác tìm cụm từ "phụ thuộc tùy chọn" vui? Tôi làm. –

+0

Hài hước, nhưng chắc chắn sẽ có nhiều ý nghĩa. Bạn có thể thiết kế các tính năng tùy chọn sẽ bị tắt nếu không có lib (ví dụ: tối ưu hóa) mà không vi phạm bất cứ điều gì trong chương trình. Thông thường, nó thực sự rất tiện dụng để có thể khai báo các phụ thuộc ** dev **, như [npm does] (https://stackoverflow.com/questions/18875674). –

Trả lời

23

Bạn có từ khóa không chính xác. Đó là extras_requireit's supposed to be a dict.

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

Cảm ơn @voithos. Tôi nên có rtfm. Liên kết được đề xuất của bạn ở trên (http://peak.telecommunity.com/DevCenter/setuptools#declaring-extras-optional-features-with-their-own-dependencies) giúp ích rất nhiều! –

Các vấn đề liên quan