Tox を使用して特定のバージョンの Python と Django をテストしようとしていますが、すべての場合に使用する追加の依存関係の一般的な Pip 要件ファイルも含めています。
Tox docsが説明しているように、最初のようにします:
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
2番目のようにします:
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 パッケージ名として解釈しているためです。