【问题标题】:Python module import failure in JenkinsJenkins中的Python模块导入失败
【发布时间】:2015-02-15 23:26:31
【问题描述】:

我有一个项目正在尝试在 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 的情况下都存在。

【问题讨论】:

    标签: python jenkins


    【解决方案1】:

    可能是你的jenkins环境下PATH设置不对造成的,其实你的默认用户和jenkins-user的环境是不一样的。

    您可以尝试在 jenkins-user 环境中查找 PATH 和 PYTHONPATH 。 尝试在 jenkins "echo $path" 中运行 "shell commands" 等等,看看它们是什么。

    在大多数情况下,您需要自己设置 PATH。 你可以参考这个答案。 Jenkins: putting my Python module on the PYTHONPATH

    【讨论】:

      【解决方案2】:

      面临同样的问题。

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

      在从节点中运行构建并不能正确访问所有 python 模块和其他命令,例如 jq 到工作区。

      【讨论】:

        猜你喜欢
        • 2013-12-03
        • 1970-01-01
        • 2011-12-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-21
        • 2019-04-28
        相关资源
        最近更新 更多