在 pypi python setup.py 中指定可选依赖项
Posted
技术标签:
【中文标题】在 pypi python setup.py 中指定可选依赖项【英文标题】:Specifying optional dependencies in pypi python setup.py 【发布时间】:2012-05-21 07:18:03 【问题描述】:如何在 python 的setup.py
中指定可选依赖项?
这是我为我的开源库指定可选依赖项的尝试,但它似乎没有多大作用。
https://github.com/od-eon/django-cherrypy/blob/master/setup.py
在这个sn-p中特别是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='calvin@calvinx.com',
install_requires=['cherrypy-wsgiserver'],
extra_requires=['newrelic'],
url='https://github.com/od-eon/django-cherrypy',
)
建议?
【问题讨论】:
还有人觉得“可选依赖”这个词很有趣吗?我愿意。 这可能很有趣,但它确实很有意义。您可以设计在 lib 不存在时将被禁用的可选功能(例如,优化),而不会破坏程序中的任何内容。更常见的是,能够声明 dev 依赖项实际上非常方便,例如 npm does. 【参考方案1】:您的关键字不正确。是extras_require
和it's supposed to be a dict.
setup(
name="django-cherrypy",
...
extras_require =
'mysterious_feature_x': ["newrelic"]
)
【讨论】:
谢谢@voithos。我应该有rtfm。您在上面推荐的链接 (peak.telecommunity.com/DevCenter/…) 有很大帮助!以上是关于在 pypi python setup.py 中指定可选依赖项的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 setup.py 安装托管在私有 PyPI 中的包?
使用 python setup.py install 时出现“错误:‘remap’不是‘cv’的成员”