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

当setup.cfg文件变更时,如何自动更新tox虚拟环境?

让tox在setup.cfg变更时自动重建虚拟环境的方法

有两种实用方案可以实现这个需求:

方案1:通过recreate选项监控setup.cfg文件

直接在tox.ini的[testenv]段中配置,让tox检测setup.cfg的文件变化,一旦内容修改就自动重建虚拟环境:

[testenv]
deps =
    pytest
    pytest-cov >= 3.5
usedevelop = true  # 以可编辑模式安装当前包,确保依赖变更生效
recreate = file:{toxinidir}/setup.cfg

{toxinidir}是tox内置变量,指向项目根目录(即setup.cfg所在目录)。

方案2:将当前包作为testenv的依赖

把你的Python包本身加入testenv的依赖列表,tox会自动计算包的元数据哈希,当setup.cfg中的依赖修改导致元数据变化时,就会触发虚拟环境重建:

[testenv]
deps =
    .  # 安装当前目录的包
    pytest
    pytest-cov >= 3.5

如果你的项目用extras_require管理测试依赖,还能进一步简化:
先在setup.cfg中添加测试依赖的extras配置:

[options.extras_require]
test =
    pytest
    pytest-cov >= 3.5

再修改tox.ini:

[testenv]
deps = .[test]

这种方式更贴合Python包的依赖管理规范,同时能自动响应setup.cfg的变更。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 04:06:26