我用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/