【问题标题】:Environment variable环境变量
【发布时间】:2015-06-15 01:05:35
【问题描述】:

我有一个像这样的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

所以,我需要从我的 SO 向我的 tox env 传递一个环境变量。这个变量是私有的,会根据环境而变化。

我是怎么做到的?

【问题讨论】:

  • 你能告诉我们你到目前为止尝试了什么吗?
  • @GavinSchulz 我试试:[testenv] setenv = VAR=$VAR
  • 你试过了吗:ENV="foo" tox
  • @JamesMills 我也需要在 Travis 上运行它,所以这种方法行不通。
  • @JamesMills 我在本地尝试您的建议,但不起作用。

标签: python virtualenv tox


【解决方案1】:

我找到了解决方案! Tox 2.0 有一个名为 passenv

的设置

应从 tox 调用环境复制到测试环境的通配符环境变量名称列表。如果指定的环境变量在 tox 调用环境中不存在,则会被忽略。您可以使用 * 和 ?将多个环境变量与一个名称匹配。 请注意,PATH 和 PIP_INDEX_URL 变量是无条件传递的,并且在 Windows SYSTEMROOT、PATHEXT、TEMP 和 TMP 上也将传递下去,而在 unix 上,TMPDIR 将传递下去。您可以使用 setenv 选项覆盖这些变量。

【讨论】:

    猜你喜欢
    • 2014-09-30
    • 2020-12-07
    • 2014-12-17
    • 2019-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多