2015-06-15 359 views
4

我有一個tox.ini文件是這樣的:環境變量

[tox] 
envlist = 
    {py27,py34} 

[testenv] 
setenv = 
    PYTHONDONTWRITEBYTECODE=1 
deps = 
    -r{toxinidir}/requirements-test.txt 
commands = 
    nosetests -v --stop --with-coverage --cover-package=project 

所以,我需要傳遞給我的TOX ENV環境變量,從我的左右。這個變量是私人的,根據環境而變化。

我該怎麼做?

+0

您能告訴我們您到目前爲止所嘗試過的嗎? –

+0

@GavinSchulz我試試: [testenv] setenv = VAR = $ VAR –

+0

您是否試過:''ENV =「foo」tox''? –

回答

2

我找到了解決方案! Tox 2.0有一個名爲passenv的設置

應該從tox調用環境複製到測試環境的通配符環境變量名稱的列表。如果指定的環境變量在tox調用環境中不存在,則會被忽略。你可以使用*和?用一個名稱來匹配多個環境變量。 請注意,PATH和PIP_INDEX_URL變量將無條件地傳遞,並且在Windows SYSTEMROOT,PATHEXT,TEMP和TMP將被傳遞下來,而在unix上,TMPDIR將傳遞下去。您可以使用setenv選項覆蓋這些變量。

+0

另請參閱http://stackoverflow.com/a/32252679/2626627瞭解最少使用示例 –