在Windows 7 64位已安裝Python 2.7,我沒有選擇使用哪個版本。Python腳本導致git publickey錯誤,當不運行在IDLE
我已經使用IDLE編寫腳本,當我按F5運行腳本時,一切都按預期工作。
但是,如果我從資源管理器中雙擊Python文件,或使用Py2Exe將其設置爲可執行文件,則腳本將失敗。
這是一個螺絲釘起來的部分:
print subprocess.check_output(["git", "pull", "origin", "master"], shell=False)
我不斷收到git的錯誤:
Permission denied (publickey).
Fatal: the remote end hung up unexpectedly.
正如我所說的,如果我在IDLE打開腳本並運行有它的工作原理魅力。我比較的os.environ
來自兩個環境的輸出和的輸出:
print subprocess.check_output(["ENV"], shell=False)
我可以看到一般涉及inparticular的git沒有差異和路徑。我很難過!
PS。如果你有一個git的回購和安裝Python和時間來幫我,那麼請把下面的代碼到一個文件在您的git回購:
import sys, subprocess
try:
print "pulling from github"
print subprocess.check_output(["git", "pull", "origin", "master"], shell=False)
except:
print "Failed"
print sys.exc_info()[0]
raw_input("Any key to exit.")
sys.exit(0)
上的文件「閒置編輯」右鍵單擊並選擇並擊中F5。然後嘗試直接雙擊.py文件...你們會發生什麼?
git服務器是否要求您建立一個ssh密鑰? ('HTTP:// progit.org /電子書/ ch4-3.html')我不知道爲什麼IDLE將有機會獲得你的'id'密鑰文件,而探險家也不會,但ID文件是開始尋找一個地方。 – Dave
@Dave感謝您的回覆。使用GitBash我可以執行這些操作,也可以在從IDLE運行我的Python腳本時將鍵全部整理出來。雖然它看起來不在空閒時運行Git無法找到它的關鍵。 – Gabe
請查看我對user1069471的回覆 - 當從IDLE〜/ .ssh運行時檢查是否有可用的密鑰。當不從IDLE git下運行C:\ Program Files(x86)\ Git \ .ssh下,沒有任何密鑰 – Gabe