remote: ImportError: нет модуля с именем gitlab
Я написал Gitlab крюк с Python. И добавил к пост-получение хуки на сервере 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
2 ответа
gitlab использует собственный двоичный файл python2.7 в / opt / gitlab / внедренный / bin / path. я переименовал /opt/gitlab/embedded/bin/python2.7 двоичный файл и создал символическую ссылку с /usr/bin/python2.7
После этого вы должны сменить владельца файла python на пользователя git.
Приведенное выше решение вызывает ту же проблему, если gitlab использует собственный двоичный файл python. Из-за этого вы можете запустить скрипт, подобный этому, в хуле post-receive
/usr/bin/python2.7 some_script.py
Я решил эту проблему с помощью следующей команды:
/usr/local/bin/python3 -m pip install -U python-gitlab