64

我们的 python 项目有一个 requirements.txt 文件,其中列出了一些依赖模块。我们曾经使用

pip install -r requirements.txt

安装这些依赖项。我们现在正在使用 tox 来构建测试环境。我的问题是我们如何直接通过 requirements.txt 安装模块。

以下是我们的 tox.ini 和 requirements.txt:

毒物.ini:

[tox]
envlist=py27
[testenv]
deps=pytest
     boto
commands=py.test

要求.txt:

boto

有什么方法可以从 tox.ini 中删除“boto”并添加类似的东西

deps_files=requirements.txt
4

4 回答 4

68
 deps = -r{toxinidir}/tools/pip-requires
        -r{toxinidir}/tools/test-requires
于 2012-09-04T07:16:23.780 回答
33

以下对我有帮助(其他解决方案对我不起作用):

deps=
    pytest
    -rrequirements.txt

至少如果您添加并使用相对较新的 `tox (>= 1.6.1) 版本(请参阅此处requirements.txt),这至少有效。MANIFEST.in

于 2013-09-23T16:56:03.897 回答
24

我已经按照上面接受的答案设置了我的依赖项,但是没有像第一次运行 tox 时那样安装任何新的依赖项。要在 virtualenv 中安装新的依赖项,我必须强制 tox 重新创建环境,如下所示:

tox --recreate -e py27

[更新:这个问题应该在toxv4 中修复]

于 2016-05-26T01:43:39.257 回答
10

您可以将依赖项和测试依赖项放在requirements.txtrequirements.testing.txt目录中。

放入tox.ini项目的根目录,您可以使用以下方法安装依赖项。

[testenv] deps = -r{toxinidir}/requirements.txt -r{toxinidir}/requirements.testing.txt

除了升级依赖

[testenv] deps = -Ur{toxinidir}/requirements.txt -Ur{toxinidir}/requirements.testing.txt

于 2017-12-03T12:20:51.800 回答