You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 10:50:59