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

fhg3lkii  于 2023-04-28  发布在  Git
关注(0)|答案(9)|浏览(327)

我试图用访问密钥克隆一个git repo,但当我试图运行它时,它抛出一个异常,说git可执行文件找不到。但是我已经安装了git和in_it。py显示正确的路径“C:\Program Files\Git\bin”我还安装了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
ejk8hzay

ejk8hzay1#

我也有同样的问题。我所做的是:我转到:系统属性-〉环境变量
在系统变量部分,我点击了【路径】、【编辑】和【上移】。

环境变量

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

svmlkihl

svmlkihl2#

错误发生,因为git不在路径中。因此无法导入git模块。有几种方法可以解决。

  • 如上所述,将git二进制路径添加到环境变量路径。
  • 如果git没有直接在模块中使用,并且它只是一个依赖的模块导入,在导入git之前抛出这个异常,我们可以添加

os.environ[“GIT_PYTHON_REFRESH”] =“安静”
并在这一行之后导入git,这将抑制由于git导入而导致的错误

stszievb

stszievb3#

有同样的问题得到了它的工作感谢穆图库马兰。只是让穆图库马兰的回答更清楚。
请按照以下步骤操作:

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

yshpjwxd4#

看看你是否在操作系统中安装了Git。
如果没有先安装git,这将解决你的错误。
森托斯
sudo yum -y install git
Ubuntu/Debian
sudo apt-get install git
苹果操作系统
sudo brew install git
这解决了我的问题。

b5lpy0ml

b5lpy0ml5#

确保您不在 *nix上不可访问的目录中,例如当您刚刚成为root用户,然后执行su username操作时
你可能仍然在root的主文件夹中,这将触发此错误(假设你有正确的环境变量设置,并已源化。配置文件或。bashrc等与source ~/.bashrc

which git
/usr/bin/git

我甚至在 * 设置环境后得到这个错误:
in ~/.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
czq61nw1

czq61nw16#

我最近遇到了类似的问题,安装git然后重新启动Windows Powershell命令行解决了这个问题。希望能有帮助。

zzoitvuj

zzoitvuj7#

对于那些使用Lambda层的人来说。正如上面的注解所说,它只需要添加GIT_PYTHON_REFRESH=quiet作为环境变量。

ycggw6v2

ycggw6v28#

这些对我很有效:-

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"
mnemlml8

mnemlml89#

在终端中执行GIT_PYTHON_REFRESH=quiet,然后尝试运行代码。

相关问题