如何在Jenkins构建中激活conda环境
我需要在我们的Jenkins服务器上使用特定的conda环境来运行构建(服务器是Windows系统)。我原以为只需要简单地运行:
activate myenv
python test_env.py
但这似乎导致构建提前退出,连脚本都没开始运行。这里是Jenkins的控制台日志:
activate myenv
Activating environment "myenv"...
Finished: SUCCESS
如果我去掉激活那一行,Python脚本就能正常执行。
顺便说一下,我正在运行的脚本是:
import os
f = open('env.txt','w')
for k, v in os.environ.iteritems():
print k, v
f.write('%s\t%s\n' % (k,v))
f.close()
有没有人知道这是怎么回事?我是不是应该直接调用相关的Python可执行文件呢?
3 个回答
2
我觉得在Windows上,激活脚本会启动一个新的子命令行,这样当前的命令行就会立刻退出。你可以试着手动设置一些环境变量,比如PATH之类的,而不是使用激活脚本吗?
4
Bradley给了我很好的建议,我找到了解决办法……
我需要一个Windows系统中和Unix的“source”命令相对应的东西,而“call”命令可以完成这个任务,具体细节可以参考另一个回答。
Windows中“source”的批处理等价物:如何从虚拟环境中运行Python脚本
希望将来有人能觉得这个信息有用!
11
使用 call activate myenv
这个命令,可以让你在激活环境后,当前的命令行窗口不会关闭。想了解更多,可以查看这个链接:https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/call.mspx?mfr=true。