我的gradle.build文件中有以下exec命令。
exec {
workingDir System.getProperty("user.dir")
commandLine 'python3.6', 'buildscript.py'
}
exec {
workingDir System.getProperty("user.dir")
commandLine 'python3.6', '-m', 'virtualenv', 'env'
}
exec {
workingDir System.getProperty("user.dir")
commandLine 'source', 'env/bin/activate'
}
exec {
workingDir System.getProperty("user.dir")
commandLine 'pip3.6', 'install', 'pybuilder'
}
exec {
workingDir System.getProperty("user.dir")
commandLine 'pyb', '-E', 'env', '-X'
}
这些都在执行gradle build时运行的build任务中。理论上,这应该运行我创建的一个脚本,该脚本创建构建python程序所需的所有文件,然后它应该创建一个虚拟环境,激活它,在其中安装pybuilder,然后运行pybuilder。但是,该命令:
exec {
workingDir System.getProperty("user.dir")
commandLine 'source', 'env/bin/activate'
}
似乎失败了。它声称目录/文件并不存在,尽管它是通过命令行工作的。我不知道为什么会这样。这样做的目的是强制Pybuilder将我的程序依赖安装到我创建的虚拟环境中。从技术上讲,pyb -E env应该为我激活虚拟环境,但无论出于什么原因,它都没有安装我对该虚拟环境的依赖项。在我们的Jenkins节点上,这是一个问题,因为我们不想全局安装这些,更不用说,我也没有root用户权限。
任何帮助都将不胜感激。如果你知道另一种让Pybuilder正常工作的方法,那也一样好。
https://stackoverflow.com/questions/49013275
复制相似问题