Jenkins中的Python模块导入失败

Jenkins中的Python模块导入失败,python,jenkins,Python,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 "/h

我有一个项目要在詹金斯身上测试和运行。在我的机器上,它工作正常,但当我尝试在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
+python/home/tomcat7/.jenkins/jobs/exit103/workspace/xtests/app\u verify\u auto.py
回溯(最近一次呼叫最后一次):
文件“/home/tomcat7/.jenkins/jobs/exit103/workspace/xtests/app\u verify\u auto.py”,第19行,在
将exit103.data.db作为数据库导入
ImportError:没有名为exit103.data.db的模块
生成步骤“执行shell”将生成标记为失败
完成:失败
目录exit103/data存在于工作区中,是一个正确的路径,但python似乎找不到它


无论是否使用virtualenv,此错误都存在。

这可能是由于jenkins环境中的路径设置不正确造成的。事实上,默认用户和jenkins用户的环境不同

您可以尝试查找jenkins用户环境中的路径和PYTHONPATH。 试着在jenkins的“echo$path”中运行“shell命令”,看看它们是什么

在大多数情况下,您需要自己设置路径。 你可以参考这个答案。 面临同样的问题

对于正在阅读本文的其他人,请在主节点中运行构建。它为我解决了这个问题

在从属节点中运行构建不会为所有python模块和其他命令(如
jq
)提供对工作区的正确访问