PyPI 包的可选依赖项

Optional dependencies for PyPI packages

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

pip install misoftware[customer1]

这可能吗?

如果可以,我如何为 [customer1]

提供补丁

例如我的主要版本是:

misoftware==1.1

misoftware[customer1]

我要

misoftware[customer1]==1.1.2

总共有 3 个轮子

您描述的是 setuptools 'extras'。这允许您指定其他依赖项,例如

  • misoftware 只安装 misoftware
  • misoftware[customer1] 会安装 misoftware 包,加上一些额外的依赖项

缺点是您在 extras 中列出的依赖项本身也必须作为包托管在 PyPI 上。所以你需要创建一个 misoftware_customer1 包,等等。