【发布时间】:2016-11-06 20:53:50
【问题描述】:
我正在学习 Python。
尝试克隆存储库时遇到异常
Traceback (most recent call last):
File "C:\Users\Selvakumar\AppData\Local\Programs\Python\Python36-32\lib\site-packages\git\cmd.py", line 622, in execute
**subprocess_kwargs
File "C:\Users\Selvakumar\AppData\Local\Programs\Python\Python36-32\lib\subprocess.py", line 969, in __init__
restore_signals, start_new_session)
File "C:\Users\Selvakumar\AppData\Local\Programs\Python\Python36-32\lib\subprocess.py", line 1249, in _execute_child
startupinfo)
PermissionError: [WinError 5] Access is denied
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "config_console.py", line 2185, in <module>
command_line = ConfigCommandLine()
File "config_console.py", line 87, in __init__
g.clone('git@github.com:Modria/Ecomm_GM.git')
File "C:\Users\Selvakumar\AppData\Local\Programs\Python\Python36-32\lib\site-packages\git\cmd.py", line 463, in <lambda>
return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
File "C:\Users\Selvakumar\AppData\Local\Programs\Python\Python36-32\lib\site-packages\git\cmd.py", line 905, in _call_process
return self.execute(make_call(), **_kwargs)
File "C:\Users\Selvakumar\AppData\Local\Programs\Python\Python36-32\lib\site-packages\git\cmd.py", line 625, in execute
raise GitCommandNotFound(str(err))
git.exc.GitCommandNotFound: [WinError 5] Access is denied
GitPython 已安装。 ssh 密钥在 C:\Users\Selvakumar.ssh 中可用,当我从 git bash 克隆时它可以工作。但同样不适用于python。请注意,生成 ssh 密钥时没有密码。请帮我解决它
【问题讨论】:
-
你能确保你的python程序在
HOME设置为USERPROFILE的环境中运行吗?设置HOME=%USERPROFILE%;调用你的 python 程序(来自一个规则 CMD 会话,而不是一个 git bash)。 -
遇到同样的错误。我在环境变量中设置 HOME 并从 CMD 运行(我已经这样做了)
-
你的 PATH 是否引用了 git 二进制文件?
-
是的,那是我犯的错误。我错过了 GIT_PYTHON_GIT_EXECUTABLE 路径变量中的 git.exe。像这样的 asC:\Program Files (x86)\Git\bin\git.exe 和作品
-
太棒了!我已经添加了一个答案来记录。