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

如何在tox.ini文件中读取pyproject.toml存储的项目版本号?

解决tox.ini从pyproject.toml读取版本号的问题

你之前用的{[project]version}是toml文件本身的语法,tox无法直接解析,所以会把这段字符串原样保留,导致找不到对应文件名。要在tox.ini里读取pyproject.toml的版本号,得用tox内置的变量引用规则:

适配tox 4+的正确配置

[testenv:upload]
basepython = python3.11
skip_install = true
deps =
    twine
commands =
    twine upload dist/foo-{pyproject:project.version}.tar.gz dist/foo-{pyproject:project.version}-py3-none-any.whl

兼容tox 3的写法

如果还在使用tox 3版本,需要加上完整的envconfig前缀:

[testenv:upload]
basepython = python3.11
skip_install = true
deps =
    twine
commands =
    twine upload dist/foo-{envconfig:pyproject:project.version}.tar.gz dist/foo-{envconfig:pyproject:project.version}-py3-none-any.whl

更简便的替代方案

其实也可以不用硬写版本号格式,直接用通配符上传dist目录下所有包文件,避免版本号格式写错的问题:

[testenv:upload]
basepython = python3.11
skip_install = true
deps =
    twine
commands =
    twine upload dist/*

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 07:02:36