我有一个项目,我正试图在Jenkins上测试和运行。在我的机器上它工作正常,但是当我尝试在Jenkins中运行它时,它无法在工作区中找到一个模块。
在主工作区目录中,我运行命令:
python xtests/app_verify_auto.py
得到错误:
+ python /home/tomcat7/.jenkins/jobs/exit103/workspace/xtests/app_verify_auto.py
Traceback (most recent call last):
File "/home/tomcat7/.jenkins/jobs/exit103/workspace/xtests/app_verify_auto.py", line 19, in <module>
import exit103.data.db as db
ImportError: No module named exit103.data.db
Build step 'Execute shell' marked build as failure
Finished: FAILURE
目录exit103 / data存在于工作空间中并且是正确的路径,但是python似乎无法找到它。
无论是否使用virtualenv都存在此错误。
答案 0 :(得分:1)
这可能是由于您的PATH设置在jenkins环境中不正确。事实上,默认用户和jenkins用户的环境不一样。
您可以尝试查找jenkins用户环境中的PATH和PYTHONPATH。 尝试在jenkins“echo $ path”中运行“shell命令”,依此类推,看看它们是什么。
大多数情况下,您需要自己设置PATH。 你可以参考这个答案。 Jenkins: putting my Python module on the PYTHONPATH
答案 1 :(得分:0)