问答 Jenkins python script 插件执行脚本时,提示 No module named qiniu, 实际 qiniu module 在 pycharm 中可用

志阳、 · 2017年05月05日 · 最后由 志阳、 回复于 2017年05月05日 · 2442 次阅读

1.本地通过 pip install 安装了 qiniu module
2.在 pycharm 中已执行了 import qiniu 的脚本,验证 qiniu 可用
3.在 jenkins 项目中 配置了 使用 execute python script 插件 & from qiniu import Auth
4.编译时报错: No module name qiniu

  • 现在 jenkins 的启动用户已修改成当前登录的管理员账户,通过 who am i 打印 的结果是 root

在网上看了一些解决办法,但是都没有解决我的问题,过程中发现 echo PYTHONPATH 结果为空

求教各位大神,该如何解决呢

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 3 条回复 时间 点赞

感觉有点乱,jenkins 是在远程 linux 机器上,pycharm 是跑在本地 windows 或者 mac 吗?

  1. which python 看一下实际执行的 python 是装在哪里的
  2. 单独跑一个脚本,只有一行 from qiniu import Auth,看是否会报错
  3. pip 是哪个账号安装的,安装到哪里
knight 回复

1.Jenkins 也是安装到本地的,我自己的 Mac 上,以上所有的执行环境都是在本地。
2.Jenkins 执行 shell :which python ,输出 “/usr/bin/python”
本地终端执行 which python 输出:“/usr/local/bin/python”
3.Jenkins 执行 from qiniu import Auth 报错,pycharm 执行不会报错
看来是 jenkins 使用的 python 和 本地使用的 python 不是同一个导致?...

问题已解决,
在 Jenkins 执行的 python 脚本最前添加 qiniu 被安装到的 site-packages 目录添加到 sys.path 中

import sys
sys.path.appent('/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages')
志阳、 关闭了讨论 05月05日 14:31
郭夏杰 [该话题已被删除] 中提及了此贴 03月25日 19:07
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册