如何在Jenkins构建中激活conda环境

10

我需要在我们运行在Windows上的Jenkins服务器上使用特定的conda环境运行Jenkins构建。我认为只需运行以下命令即可:

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个回答

11

1
这个方法虽然可行,但是即使现在已经在conda环境中,它仍然找不到Python。看起来jenkins的CMD并不关心哪个conda环境是活动的。 - Batman0730

4

2

我认为Windows上的激活脚本会启动一个新的子shell,这意味着当前的shell会立即退出。你可以尝试手动设置环境变量,如PATH等,而不是使用activate。


1
嗨,布拉德利,是的,我考虑过这样做,基本上是将myenv/bin和myenv/Scripts文件夹添加到PATH中。我问这个问题是因为我不知道“activate”还有什么其他作用...这样就足够了吗? - Jahfet

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接