8

我正在尝试使用 Tox 来测试 Python 和 Django 的特定版本,但还包括一个通用的 Pip 要求文件,其中包含用于所有情况的附加依赖项。

正如Tox 文档所解释的,您首先执行以下操作:

deps =
    django15: Django>=1.5,<1.6
    django16: Django>=1.6,<1.7
    py33-mysql: PyMySQL     ; use if both py33 and mysql are in an env name
    py26,py27: urllib3      ; use if any of py26 or py27 are in an env name
    py{26,27}-sqlite: mock  ; mocking sqlite in python 2.x

你做第二个喜欢:

deps = -r{toxinidir}/pip-requirements.txt
       -r{toxinidir}/pip-requirements-test.txt

但是你如何结合这些?

如果我尝试定义多个 deps,Tox 会给我错误“重复名称 'deps'”,但我看不到将字典和列表符号组合为 deps 的方法。

我也试过:

deps =
    -r{toxinidir}/pip-requirements.txt
    -r{toxinidir}/pip-requirements-test.txt
    django15: Django>=1.5,<1.6
    django16: Django>=1.6,<1.7

虽然这没有给我任何解析错误,但是当我去运行测试时,我得到了错误:

错误:py27-django15:无法安装 deps [-r/usr/local/myproject/pip-requirements.txt,-r/usr/local/myproject/pip-requirements-test.txt,Django>=1.5,<1.6 ]; v = InvocationError('/​​usr/local/myproject/.tox/py27-django15/bin/pip install -r/usr/local/myproject/pip-requirements.txt -r/usr/local/myproject/pip-requirements- test.txt Django>=1.5,<1.6(见/usr/local/myproject/.tox/py27-django15/log/py27-django15-1.log)', 1)

大概是因为它将需求文件解释为文字 Python 包名称。

4

0 回答 0