使用其他软件包扩展pip包

时间:2017-05-17 06:22:46

标签: python pip

通常您只需安装此pip install SomePackage之类的任何软件包,但对于某些我看过pip install SomePackage[anotherPackage]或使用SomePackage[anotherPackage,yetAnother]的软件包,它会有效地扩展SomePackage中的某些功能不引起膨胀。

你是如何实现这一目标的?

1 个答案:

答案 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"],
    } )