python - 远程 : ImportError: No module named gitlab

标签 python git gitlab githooks

我用python写了gitlab hook。并添加到 gitlab 服务器中的接收后 Hook 。当我从笔记本电脑推送到远程源服务器时,出现以下错误。但是当我在 gitlab 服务器中手动运行脚本时它有效。我该如何解决问题?

 Counting objects: 3, done.
 Writing objects: 100% (3/3), 240 bytes | 0 bytes/s, done.
 Total 3 (delta 0), reused 0 (delta 0)
 remote: Traceback (most recent call last):
 remote:   File "push.py", line 4, in <module>
 remote:     import gitlab
 remote: ImportError: No module named gitlab

最佳答案

gitlab 在/opt/gitlab/embedded/bin/路径中使用自己的 python2.7 二进制文件。 我将/opt/gitlab/embedded/bin/python2.7 二进制文件重命名为/usr/bin/python2.7 创建符号链接(symbolic link)

之后,您必须使用 git 用户更改 python 文件的所有者。

如果 gitlab 使用自己的 python 二进制文件,上述解决方案会导致同样的问题。因此,您可以在接收后 Hook 中运行这样的脚本

/usr/bin/python2.7 some_script.py

关于python - 远程 : ImportError: No module named gitlab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30544625/

相关文章:

python - 为什么 python 库 "python-pptx"没有获取所有选择数据?

python - Python 解释器中的后台线程在 time.sleep() 上暂停

python - 在 Google-App-Engine 上使用 Django 访问和更新模型

python - Tkinter 窗口不显示小部件

git - 如果我从一个分支中挑选一个提交然后 merge 整个分支,那么 git 历史会发生什么?

git - 在 git merge 时总是忽略某个提交

Git 或 Hg 到 SVN 的桥梁

github - 如何直接从 git master 分支部署 Web 应用程序

Gitlab管道规则: how to not run a job when a branch has an open merge request?防止重复管道

gitlab - 如何从 GitLab CI 创建 Jira 任务?