在 setup.cfg 中嵌套或组合 setuptools 的 extras_require

hin*_*tze 4 python setuptools dependency-management

是否可以将 中已指定的依赖项重新用于 中的[options.extras_require]其他条目[options.extras_require]?例如,一个开发团队正在mypy开发过程中检查他们的类型注释,并black自动格式化他们的代码。在这种情况下,他们会指定[options.extras_require]类似:

[options.extras_require]
dev = black, mypy
Run Code Online (Sandbox Code Playgroud)

但现在已经搭建了一个测试环境,也用于mypy检查类型提示,但不需要black。因此配置扩展如下:

[options.extras_require]
test = mypy
dev = black, mypy
Run Code Online (Sandbox Code Playgroud)

现在,开发所需的任何测试依赖项都会重复用于开发依赖项。

dev有没有办法通过说也需要全押来避免这种情况test

Ren*_*mas 9

您可以参考额外的包:

[metadata]
name = foo

[options.extras_require]
test = mypy
dev = black; foo[test]
Run Code Online (Sandbox Code Playgroud)

  • @hintze 太棒了!确切地说,我也没有在文档中明确找到这种情况,因此需要一些实验 (2认同)