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

志阳、 · May 05, 2017 · Last by 志阳、 replied at May 05, 2017 · 3631 hits

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 是哪个账号安装的,安装到哪里
志阳、 #2 · May 05, 2017 Author
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 不是同一个导致?...

志阳、 #3 · May 05, 2017 Author

问题已解决,
在 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 May 14:31
郭夏杰 [Topic was deleted] 中提及了此贴 25 Mar 19:07
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up