如何通过需求文件安装模块?

时间:2012-09-04 07:12:56

标签: python tox

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

pip install -r requirements.txt

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

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

tox.ini:

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

rquirements.txt:

boto

有没有办法从tox.ini中删除“boto”并添加类似

的内容
deps_files=requirements.txt

4 个答案:

答案 0 :(得分:53)

 deps = -r{toxinidir}/tools/pip-requires
        -r{toxinidir}/tools/test-requires

答案 1 :(得分:18)

以下是帮助我的原因(另一种解决方案对我不起作用):

deps=
    pytest
    -rrequirements.txt

至少如果您将requirements.txt添加到MANIFEST.in并且使用相对较新的`tox(> = 1.6.1)版本(see here),这是有效的。

答案 2 :(得分:18)

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

tox --recreate -e py27

答案 3 :(得分:3)

您可以将依赖项和测试依赖项放在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