На Windows 7 64bit установлен Python 2.7, у меня нет выбора, какую версию использовать.
Я использовал IDLE для написания скрипта, и когда я нажимаю клавишу F5, чтобы запустить скрипт, все работает как положено.
Однако, если я дважды щелкну файл Python из проводника или использую Py2Exe, чтобы превратить его в исполняемый файл, скрипт завершится неудачей.
Это та часть, которая облажается:
print subprocess.check_output(["git", "pull", "origin", "master"], shell=False)
Я получаю сообщение об ошибке:
Permission denied (publickey).
Fatal: the remote end hung up unexpectedly.
Как я уже сказал, если я открою скрипт в IDLE и запусту оттуда, он заработает шарм. Я сравнил вывод os.environ
из обеих сред и вывод:
print subprocess.check_output(["ENV"], shell=False)
Я не вижу различий, касающихся 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)
Щелкните правой кнопкой мыши по файлу, выберите «Редактировать с IDLE» и нажмите F5. Затем попробуйте дважды щелкнуть файл .py напрямую ... Что происходит с вами, ребята?