remote:ImportError:没有名为gitlab的模块

时间:2015-05-30 09:45:59

标签: python git gitlab githooks

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

1 个答案:

答案 0 :(得分:2)

gitlab在/ opt / gitlab / embedded / bin / path中使用自己的python2.7二进制文件。 我重命名/opt/gitlab/embedded/bin/python2.7 binary并使用/usr/bin/python2.7创建符号链接

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

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

/usr/bin/python2.7 some_script.py