从python子进程运行时,GIT权限拒绝(publickey)

时间:2017-02-03 18:06:07

标签: git python-2.7

我有以下Python代码:

import subprocess
import os

repo_dir = 'C:\dev\codeRepo'
os.chdir(repo_dir)

process = subprocess.Popen("git pull", stdout=subprocess.PIPE)
output = process.communicate()[0]

我收到以下错误:

  

权限被拒绝(publickey)。致命:无法从远程读取   库中。

     

请确保您拥有正确的访问权限和存储库   存在。

注意,我在服务器上设置了公钥,我可以从Windows命令行执行“git pull”而无需输入任何密钥,它可以正常工作。但是,从Python程序中我得到了这个错误。

1 个答案:

答案 0 :(得分:0)

我找到了根本原因。

最初我有git设置这样一种方式,在每个git pull它要求传递密钥。为了阻止这种情况,我删除了现有密钥,并添加了一个没有密码的新密钥(还有其他方法)。由于我没有重新启动机器,因此Windows系统无法获取此更改。重新启动后,我开始工作了。