通常您只需安装此pip install SomePackage
之类的任何软件包,但对于某些我看过pip install SomePackage[anotherPackage]
或使用SomePackage[anotherPackage,yetAnother]
的软件包,它会有效地扩展SomePackage
中的某些功能不引起膨胀。
你是如何实现这一目标的?
答案 0 :(得分:3)
在setuptools命名法中称为extras
引用官方文档:
有时项目具有“推荐”的依赖关系,而不是 所有项目用途都需要。例如,一个项目可能 如果安装了ReportLab,则提供可选的PDF输出,以及 如果安装了docutils,则reStructuredText支持。这些可选 功能称为“额外”,setuptools允许您定义 他们的要求也是如此。这样,需要的其他项目 这些可选功能可以强制执行其他要求 通过在install_requires中命名所需的额外内容来安装。
例如,假设Project A提供可选的PDF和reST 支持:
setup( name="Project-A", ... extras_require={ 'PDF': ["ReportLab>=1.2", "RXP"], 'reST': ["docutils>=0.3"], } )