Python 库有两个包“package1”和“package2”。这两个软件包都支持可选的附加功能“extras”。 Package1 有一个 setup.cfg 如下:
[options]
install_requires = package2
[options.extras_require]
extras = package2[extras]
package2 有 setup.cfg 有:
[options.extras_require]
extras = extra_package
这个想法是,如果 package1 通过
pip install package1[extras]
安装,那么依赖的 package2 也会引入它的额外内容 - 即“extra_package”。
然而,package2 的级联“extras”依赖项并未被引入,并且环境中缺少 extra_package。 如何实现附加项的级联,以便通过顶部包的单个 pip 安装来拉入 package1 和 package2 的“附加项”?
所以我调查了这个,它看起来是 pip 中的一个错误。
它不适用于 pip 版本 20.2,它可以按预期使用 pip 23.2 及以上版本。