如何从tox.ini文件中读取pyproject.toml中的项目版本号?
我想在我的 tox.ini
文件中添加一个 upload
环境。可是,这需要动态获取项目的版本号;类似于:
[testenv:upload]
basepython = python3.11
skip_install = true
deps =
twine
commands =
twine upload dist/foo-{[project]version}.tar.gz dist/foo-{[project]version}-py3-none-any.whl
但是,这种写法不行:
% tox -e upload
upload: commands[0]> twine upload 'dist/foo-{[project]version}.tar.gz' 'dist/foo-{[project]version}-py3-none-any.whl'
ERROR InvalidDistribution: Cannot find file (or expand pattern): 'dist/foo-{[project]version}.tar.gz'
在 tox.ini
文件中,正确的语法是什么,以便从 pyproject.toml
文件中读取项目版本?
1 个回答
0
Tox 本身没有一个叫做 project
的全局变量。如果你想从 pyproject.toml 文件中获取项目版本,可以这样做:
- 在你的 tox 文件中明确设置项目版本,但这样的话你就需要在两个地方都修改项目版本。你可以使用 tox 的
setenv
命令来设置版本。
[testenv]
setenv =
VERSION=0.01
[testenv:upload]
basepython = python3.11
skip_install = true
deps =
twine
commands =
twine upload dist/foo-{env:VERSION}.tar.gz dist/foo-{env:VERSION}-py3-none-any.whl