gitpython не может найти git команды несмотря на установку git - PullRequest
0 голосов
/ 13 марта 2020

Я установил git python, подробности:

Python 3.8.1
git version 2.21.1 (Apple Git-122.3)
GitPython==3.1.0
gitdb==4.0.2
OS is Catalina
virtual environment via pyenv, pyenv-virtualenv, pyenv-virtualenvwrapper
git is located in /usr/bin/git

работает с этим кодом:

from git import cmd
import sys

sys.path.append('/usr/bin/')
g = cmd.Git()
g.execute('git') # prints the git help page.
g.execute('git log') # Throws an error. 

g_ = cmd.Git('..')
g_.execute('git'). # prints the git help page.
g_.execute('git log'). # Throws an error. 

Ошибка:

GitCommandNotFound: Cmd('git') not found due to: FileNotFoundError('[Errno 2] No such file or directory: 'git log'')
cmdline: git log

На самом деле это ошибка сторонней библиотеки. Я повторил ошибку из этого кода с более простым кодом. оригинальный код вызывает git remote show origin, что также имеет похожую ошибку.

1 Ответ

1 голос
/ 13 марта 2020

execute получает список аргументов командной строки, а не одну строку:

g.execute(['git', 'log']) #  Correct!
g.execute('git log') #  Wrong!
g.execute('git') #  Correct because only a single argument
...