2015-05-30 2 views
3

Я написал gitlab hook с python. И добавлен в post-receive hooks на сервере gitlab. Когда я нажимаю на сервер удаленного происхождения с моего ноутбука, я получаю следующую ошибку. Но он работает, когда я запускаю скрипт вручную на сервере gitlab. Как я могу решить проблему?remote: ImportError: Нет модуля с именем 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/путь. я переименовал /opt/gitlab/embedded/bin/python2.7 двоичную и создать символическую связь с /usr/bin/python2.7

После этого владельца вы должны изменить в файле питона с пользователем мерзавца.

Выше решение вызывает такую ​​же проблему, если gitlab использует собственный бинарный код python. Из-за этого вы можете запустить сценарий, подобный этому, в приемном крюке

/usr/bin/python2.7 some_script.py

Смежные вопросы