使用tox安装可选依赖项

9 投票
2 回答
1489 浏览
提问于 2025-06-18 04:03

我使用 tox 来测试一个 Python 项目,下面是我用的基本配置(tox.ini):

[tox]
envlist = py3
isolated_build = True

[testenv]
deps =
    pytest
    pytest-cov
commands =
    pytest --cov {envsitepackagesdir}/foobar --cov-report xml --cov-report term

不过,包的可选依赖(在 setup.cfg 中指定的)没有被安装;在原始的 pip 命令中对应的内容是

pip install .[all]

怎么才能让 tox 安装所有的可选依赖呢?

相关问题:

  • 暂无相关问题
暂无标签

2 个回答

1

你可以修改你的 testenv 的依赖项,

[testenv]
deps = 
    .[all]
    pytest
    pytest-cov

这样就能模拟 pip install .[all] 的行为。

12

要实现这个功能,推荐的方式是使用你测试环境中的 extras 这个关键字。

比如说:

[testenv]
deps = -rrequirements-dev.txt
extras = typed

这样做会安装 .[typed],如果 usedevelop = true,那么也可以用 -e .[typed]


声明:我是一名tox的维护者。

撰写回答