2011-01-30 18 views
2

免責聲明:我在Python編程非常新,所以我可以做的事情非常錯誤這裏錯誤運行git命令時,裏面POPEN

所有我想要做的就是運行從打開的文件混帳命令。下面是我在做

subprocess.Popen('git status', cwd = os.path.dirname(path), shell = True, stdout = subprocess.PIPE, stderr = subprocess.PIPE) 

呼叫,我收到錯誤消息是這樣的:/ bin/sh的:未找到

命令我已驗證它指向正確的目錄:混帳通過做一個文件列表。另外,如果我打開一個在顛覆控制下的文件,並執行svn info命令,那麼一切都可以正常工作。我完全喪失了我在這裏想念的東西。

+3

請確保`git`在Python腳本運行的用戶的`PATH`中? – Amber 2011-01-30 19:14:25

+0

你使用svn或git?因爲你想在你的子進程`git status`中運行,並且在你說你做了'svn info` !!!之後!我不知道這是否可以幫助,但我認爲你得到的錯誤意味着你的系統中沒有安裝git – mouad 2011-01-30 19:16:12

回答

3

正如Amber所說,在shell中執行'which git',它會告訴你git的安裝位置。然後用完整路徑,使用/ usr/bin/git調用git:

subprocess.Popen('/usr/bin/git status', cwd = os.path.dirname(path), shell = True, stdout = subprocess.PIPE, stderr = subprocess.PIPE)