OSError: [Errno 2] Нет такого файла или каталога на GitPython
Я использую GitPython для загрузки удаленного хранилища на мою машину. Следующий код хорошо работает на моем Ubuntu 12.04, но на моем amazon ec2, на сервере Ubuntu 11.10, я получаю сообщение об ошибке: [Errno 2] Нет такого файла или ошибки каталога.
repo = git.Repo.init(fs_path)
origin = repo.create_remote('origin',repo_url)
origin.fetch()
origin.pull(origin.refs[0].remote_head)
Когда я запускаю блок в скрипте, я не получаю никаких сообщений об ошибках. Но когда я пытаюсь выполнить эти шаги в интерактивной оболочке, я получаю следующую трассировку стека:
>>> import git
>>> repo = git.Repo.init("/var/wwww/dir/subdir/tmp/12")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/GitPython-0.3.2.RC1-py2.7.egg/git/repo/base.py", line 656, in init
output = git.init(**kwargs)
File "/usr/local/lib/python2.7/dist-packages/GitPython-0.3.2.RC1-py2.7.egg/git/cmd.py", line 227, in <lambda>
return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/GitPython-0.3.2.RC1-py2.7.egg/git/cmd.py", line 456, in _call_process
return self.execute(call, **_kwargs)
File "/usr/local/lib/python2.7/dist-packages/GitPython-0.3.2.RC1-py2.7.egg/git/cmd.py", line 335, in execute
**subprocess_kwargs
File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1239, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
>>>
Но у меня нет таких проблем на моей локальной машине. Понятия не имею, что происходит не так. Любая помощь будет высоко оценена!
1 ответ
Ошибка выходит из subprocess
модуль. Это говорит о том, что git
либо не установлен на вашем экземпляре EC2, либо находится в месте, которое отсутствует в вашем PATH
переменная окружения.
Обратите внимание, что GitPython
зависит от git
инструменты командной строки. Если вам нужен собственный модуль Python для взаимодействия с Git-репозиториями, взгляните на dulwich.