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

如何在pyproject.toml中配置仅开发依赖tox并解决安装问题

解决方案

1. 让开发环境自动装上tox

pip install -e . 默认只装项目的主依赖,不会主动安装[project.optional-dependencies]里的可选依赖组。要把tox这类开发依赖装上,得在安装命令里明确指定dev组:

pip install -e ".[dev]"

2. 修复Docker构建时requires.txt的报错问题

setuptools生成的requires.txt会把所有可选依赖的分段(比如[dev])都写进去,但pip install -r不识别这种带[]的分段格式。解决这个有两种办法:

办法一:直接安装包(推荐生产环境用)

生产环境没必要读requires.txt,直接安装构建好的包就行——不管是python build生成的wheel/tar.gz,还是在Docker里直接执行:

pip install .

这样只会安装主依赖,完全符合生产环境的需求。

办法二:过滤requires.txt里的分段标记

如果一定要用requires.txt,就在Dockerfile里加个过滤命令,把带[的行去掉:

grep -v "^\[" mypackage/mypackage.egg-info/requires.txt | pip install -r -

可选优化:拆分依赖组更清晰

如果想把开发工具(比如tox)和测试依赖(比如pytest)分开,可以把可选依赖拆成多个组,管理起来更清楚:

[project.optional-dependencies]
dev = [
    "tox",
    # 可以添加black、flake8这类代码规范工具
]
test = [
    "pytest",
    # 可以添加pytest-cov这类测试覆盖率工具
]

安装的时候按需选择:

# 只装测试依赖
pip install -e ".[test]"
# 装所有开发相关的依赖
pip install -e ".[dev,test]"

内容的提问来源于stack exchange,提问作者devnectar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 06:25:53