Python 检测何时在Travis CI上运行代码

Python 检测何时在Travis CI上运行代码,python,continuous-integration,travis-ci,nose,Python,Continuous Integration,Travis Ci,Nose,我有一个nose测试,它使用tests目录中png文件的路径名。一条路径适用于本地测试,一条路径适用于Travis。我如何检查代码何时在Travis上运行 编辑:这里是可以检查环境变量是否存在(或值)的。看起来Travis默认定义了几个(请参阅) 例如: import os istravis = os.environ.get('TRAVIS') == 'true' 要检查TRAVIS的存在,请执行以下操作: import os is_travis = 'TRAVIS' in os.enviro

我有一个nose测试,它使用tests目录中png文件的路径名。一条路径适用于本地测试,一条路径适用于Travis。我如何检查代码何时在Travis上运行


编辑:这里是可以检查环境变量是否存在(或值)的

。看起来Travis默认定义了几个(请参阅)

例如:

import os
istravis = os.environ.get('TRAVIS') == 'true'

要检查TRAVIS的存在,请执行以下操作:

import os
is_travis = 'TRAVIS' in os.environ

事后看来,上述所有答案都是正确的。然而,我还想记录另一个浪费了我生命中数小时的原因

如果您碰巧正在维护一个使用流行tox来编排测试的代码库,您可能不知道:

默认情况下,tox仅将PATH环境变量(在windows SYSTEMROOT和PATHEXT上)从tox调用传递到测试环境。如果要传递其他环境变量,可以使用passenv选项:


文档中说,
TRAVIS=true
是默认值。根据你想变得多疑,你可以检查这个值是否为“真”。我举了一个例子来说明这一点。使用<代码> OS.GETEnV默认为“false”可能更好。也可以考虑查看<代码> Ci>代码>和<代码> RealSuxMixe变量,在同一文档中提到。显然,如果你在给tox打电话之前就这么做了,那么仅仅给环境打电话是不够的。。。
[testenv]
passenv = TRAVIS