PyPI软件包的可选依赖项

时间:2019-07-12 00:29:08

标签: python pypi

我想创建一个新的PyPI包,但这将有一个特殊的轮子,我将在其中调用它,如下所示:

pip install misoftware[customer1]

这可能吗?

如果是的话,如何为[customer1]提供补丁?

例如,我的主要版本是:

misoftware==1.1

misoftware[customer1]

我想要

misoftware[customer1]==1.1.2

这将是总共3个轮子

1 个答案:

答案 0 :(得分:1)

您正在描述setuptools 'extras'。这使您可以指定其他依赖项,例如

  • misoftware仅安装misoftware软件包
  • misoftware[customer1]将安装misoftware软件包,以及一些其他依赖项

缺点是,您在Extras中列出的依赖项也必须作为软件包本身托管在PyPI上。因此,您需要创建一个misoftware_customer1包,依此类推。