GitPythonを使用してリモートリポジトリを自分のマシンにフェッチしています。次のコードはUbuntu12.04で正常に機能しますが、Amazon ec2、Ubuntu 11.10サーバーでは、OSErrorが発生します。[Errno2]そのようなファイルまたはディレクトリエラーはありません。
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
>>>
しかし、ローカルマシンではそのような問題はありません。何が悪いのかわかりません。どんな助けでも大歓迎です!