簡體   English   中英

如何導入tox中的所有環境變量

[英]How to import all the environment variables in tox

我在setenv中使用以下命令從我運行的地方導入環境變量,但有沒有辦法導入所有變量,這樣我就不需要逐個導入了。

例如:{env:TEMPEST_CONFIG:}和{env:TEMPEST_CONFIG_DIR:}用於導入這兩個變量。

[testenv:nosetests]
setenv =
    TEMPEST_CONFIG={env:TEMPEST_CONFIG:}
    TEMPEST_CONFIG_DIR={env:TEMPEST_CONFIG_DIR:}
deps = {[testenv]deps}
commands =
    find . -type f -name "*.pyc" -delete
    bash {toxinidir}/tools/setup.sh
    nosetests --with-xunit {posargs}

你可以使用passenv 如果傳遞catch all wildcard * ,則可以訪問父環境中的所有環境變量:

passenv =空格分隔-GLOBNAMES

2.0版中的新功能。

通配符環境變量名稱列表,在執行測試命令時應從tox調用環境復制到測試環境。 如果tox調用環境中不存在指定的環境變量,則忽略該變量。 你可以使用*和? 使用一個名稱匹配多個環境變量。

最小化tox.ini重現(無需項目):

[tox]
skipsdist = True

[testenv]
passenv = *
skip_install = True
commands = python -c "print('computer says {env:MY_FANCY_ENV_VAR:}!')"

在linux / unix shell中調用:

MY_FANCY_ENV_VAR=no tox -qq

Windows cmd.exe上的調用:

set MY_FANCY_ENV_VAR=no & tox -qq

輸出:

computer says no!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM