如何在pyproject.toml中用setuptools从文件读取多组可选依赖?
问题解答
1. 这里的“group”指什么?
这里的group就是你在[project.optional-dependencies]下定义的各个可选依赖分组,比如你例子里的fast(加速场景依赖)、test(测试场景依赖),每个分组对应一类特定场景下需要安装的依赖集合。
2. 正确配置语法
该功能处于beta阶段,需通过[tool.setuptools.dynamic]下的optional-dependencies字段,为每个分组指定对应的依赖文件,具体配置示例如下:
[build-system] requires = ["setuptools>=61.0"] # 需使用支持该beta功能的setuptools版本 build-backend = "setuptools.build_meta" [project] name = "my_project" dynamic = ["dependencies", "optional-dependencies"] # 将可选依赖加入动态配置列表 [tool.setuptools.dynamic] dependencies = {file = ["requirements.txt"]} # 为每个可选依赖分组绑定对应的文件 optional-dependencies = { fast = {file = ["fast-requirements.txt"]}, test = {file = ["test-requirements.txt"]} }
补充说明
- 每个分组对应的文件需遵循requirements.txt格式的子集:即每行一个依赖,支持标准pip依赖语法(如
numba>=0.57.0),但暂不支持-r这类递归引用其他文件的复杂语法(具体限制以当前beta版本的setuptools为准)。
内容的提问来源于stack exchange,提问作者Moobie
相关产品推荐
相关产品推荐

