我们的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
答案 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.txt
和requirements.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