我有以下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程序中我得到了这个错误。
答案 0 :(得分:0)
我找到了根本原因。
最初我有git设置这样一种方式,在每个git pull它要求传递密钥。为了阻止这种情况,我删除了现有密钥,并添加了一个没有密码的新密钥(还有其他方法)。由于我没有重新启动机器,因此Windows系统无法获取此更改。重新启动后,我开始工作了。