Python 如何将每个环境毒素DEP与Pip需求文件相结合?
我试图使用Tox测试Python和Django的特定版本,但也包括一个通用的Pip需求文件,该文件包含用于所有情况的附加依赖项 如前所述,您首先要做的是:Python 如何将每个环境毒素DEP与Pip需求文件相结合?,python,django,unit-testing,python-unittest,tox,Python,Django,Unit Testing,Python Unittest,Tox,我试图使用Tox测试Python和Django的特定版本,但也包括一个通用的Pip需求文件,该文件包含用于所有情况的附加依赖项 如前所述,您首先要做的是: 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:
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
但是如何将这些结合起来呢
如果我试图定义多个DEP,Tox会给出错误“重复名称'deps'”,但我看不到将字典和DEP的列表符号结合起来的方法
我还尝试:
deps =
-r{toxinidir}/pip-requirements.txt
-r{toxinidir}/pip-requirements-test.txt
django15: Django>=1.5,<1.6
django16: Django>=1.6,<1.7
deps=
-r{toxinidir}/pip-requirements.txt
-r{toxinidir}/pip-requirements-test.txt
django15:Django>=1.5,=1.6,=1.5,我想我真的不明白您真正想要完成的是什么,对于您直接提出的如何结合需求和tox显式依赖关系的问题,我也没有答案
也就是说,您可以根据环境条件在需求文件中包含依赖项。例如,仅为此版本的Python或此平台安装此依赖项
您可以查看或查看。请包括您的pip要求*.txt
文件。您是否在任何requirements.txt
文件中冻结Django?Tox不应该将DEP的前两行解释为包,这就是-r
的作用。我也有同样的问题,除了单独的tox特定需求和管理2套DEP之外,我没有找到令人满意的解决方案……我将在requirements-test.txt中包含测试所需的所有包。如果您想将测试需求拆分为多个文件,这也是可能的:只需在测试需求文件中添加-r requirements base.txt
。并在requirements-base.txt中提取(您的一般PIP需求)包。所以在tox中,您只需要使用一个文件,并且您的错误不应该重复。
deps =
-r{toxinidir}/pip-requirements.txt
-r{toxinidir}/pip-requirements-test.txt
django15: Django>=1.5,<1.6
django16: Django>=1.6,<1.7