无法从Python脚本运行Git命令

时间:2020-07-30 16:36:29

标签: python python-3.x git

使用subprocess.call("git sparse-checkout")执行git命令时,它返回一条错误消息,提示git命令不存在:

git: 'sparse-checkout' is not a git command. See 'git --help'.

但是,当在终端中运行相同的命令时,我可以毫无问题地使用稀疏签出。

我也尝试使用以下内容:

subprocess.call(['git', 'sparse-checkout'])
subprocess.call("git sparse-checkout", shell=True)
os.system("git sparse-checkout")

全部返回相同的结果。

我在RHEL 6.6上使用git 2.26.2和Python 3.2

1 个答案:

答案 0 :(得分:1)

关于'sparce-checkout' is not a git command的错误表明脚本正在初始化的git版本不是> = git 2.26。

这似乎是git中一个相对较新的命令。我会做两件事:

  1. 验证脚本正在初始化的git版本以及您在终端中看到的内容
    subprocess.call(["which", "git"])
    subprocess.call(["git", "--version"])
    
  2. 如果git有多个版本,请使用二进制文件的完整路径