git 可执行文件在 python 中找不到

问题描述 投票:0回答:9

我试图用访问密钥克隆一个 git 仓库,但是当我试图运行它时,它抛出一个异常,说找不到 git 可执行文件。 但是我已经安装了 git 并且 in_it.py 显示了正确的路径“C:\Program Files\Git in”我还安装了 gitpython 以在 python 中使用库

这是我的代码...

import git git.Git("D:/madhav/myrep/").clone("@github.com:myrepo/scripts")

========= 并抛出以下异常 =================

Traceback (most recent call last): File "C:\Users\1096506\Desktop\gitclone.py", line 1, in <module> from git import Repo File "C:\Users\1096506\AppData\Local\Programs\Python\Python36-32\lib\site-packages\git\__init__.py", line 84, in <module> refresh() File "C:\Users\1096506\AppData\Local\Programs\Python\Python36-32\lib\site-packages\git\__init__.py", line 73, in refresh if not Git.refresh(path=path): File "C:\Users\1096506\AppData\Local\Programs\Python\Python36-32\lib\site-packages\git\cmd.py", line 293, in refresh raise ImportError(err) ImportError: Bad git executable. The git executable must be specified in one of the following ways: - be included in your $PATH - be set via $GIT_PYTHON_GIT_EXECUTABLE - explicitly set via git.refresh() All git commands will error until this is rectified. This initial warning can be silenced or aggravated in the future by setting the $GIT_PYTHON_REFRESH environment variable. Use one of the following values: - quiet|q|silence|s|none|n|0: for no warning or exception - warn|w|warning|1: for a printed warning - error|e|raise|r|2: for a raised exception Example: export GIT_PYTHON_REFRESH=quiet
    
python git gitpython
9个回答
5
投票
我有同样的问题。我所做的是: 我去了:

系统属性->环境变量

在系统变量部分,我单击了

PathEditMove Up

环境变量

编辑并从底部向上移动两个位置


5
投票
错误是因为git不在路径中。所以它无法导入 git 模块。 解决它的几种方法。

  • 按照上面的建议将 git 二进制路径添加到环境变量路径。

  • 如果 git 没有直接在模块中使用,并且它只是一个依赖模块导入,那么在导入 git 之前会抛出这个异常,我们可以添加

    os.environ["GIT_PYTHON_REFRESH"] = "安静"

并在此行之后导入 git,这将抑制由于 git import 引起的错误


5
投票
感谢 Muthukumaran,同样的问题让它工作。只是让 Muthukumaran 的回答更清楚。

遵循以下步骤:

import os os.environ["GIT_PYTHON_REFRESH"] = "quiet" import git
    

2
投票
查看你的操作系统是否安装了Git

如果不先安装 git,这将解决你的错误。

Centos


sudo yum -y install git



Ubuntu/Debian


sudo apt-get install git



Mac 操作系统


sudo brew install git



这解决了我的问题。


1
投票
确保您不在 *nix 上无法访问的目录中,例如当您刚刚成为 root 用户然后执行

su username


您可能仍在 root 的主文件夹中,这将触发此错误(假设您设置了正确的环境变量,并使用

source ~/.bashrc

 获取了 .profile 或 .bashrc 等)

which git /usr/bin/git
甚至在

设置环境后我也遇到了这个错误:

在 ~/.bashrc

# for bench PATH=$PATH:/usr/bin/git export PATH GIT_PYTHON_GIT_EXECUTABLE=/usr/bin/git export GIT_PYTHON_GIT_EXECUTABLE cd
它的工作

$ bench --version WARN: Command not being executed in bench directory 5.3.0
    

0
投票
我最近遇到了类似的问题,安装 git 然后重新启动 Windows Powershell CommandLine 解决了这个问题。可能有帮助。


0
投票
对于那些正在使用 Lambda 层的人。正如上面的评论所说,只需将

GIT_PYTHON_REFRESH=quiet

添加为环境变量即可添加。


0
投票
这些对我有用:-

export PATH=$PATH:/usr/bin/git export GIT_PYTHON_GIT_EXECUTABLE=/usr/bin/git export GIT_SSH_COMMAND="/usr/bin/ssh -i ~/.ssh/id_rsa"
    

-1
投票
在您的终端中执行

GIT_PYTHON_REFRESH=quiet

,然后尝试运行代码。

© www.soinside.com 2019 - 2024. All rights reserved.