remote: ImportError: No module named gitlab

remote: ImportError: No module named gitlab

我用 python 写了 gitlab hook。并添加到 post-receive gitlab 服务器中的挂钩。当我从笔记本电脑推送到远程源服务器时,出现以下错误。但是当我在 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

创建符号 link

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

如果 gitlab 使用自己的 python 二进制文件,上述解决方案会导致同样的问题。因此,您可以 运行 在 post-receive hook

中编写这样的脚本

/usr/bin/python2.7 some_script.py