为什么Windows上的gitpython总是出现文件未找到错误?

2 投票
1 回答
2062 浏览
提问于 2025-04-28 04:00

在这里查看关于gitpython的教程时,我按照步骤一步步操作,但在我的电脑上遇到了一些问题。我的环境是Windows 7,使用的git版本是1.7.11.msysgit.1,还有Python 2.7。所有东西都通过easy_install顺利安装好了。Repo对象成功创建,像repo.tree()repo.branches这样的命令也能正常工作。不过,当我执行repo.is_dirty()时,出现了一些不具体的文件未找到错误。错误信息是WindowsError: [Error 2] The system cannot find the file specified. 有什么建议吗?

path = "c:\\path_to_repo"
repo = Repo(path)
assert repo.bare == False
print repo.tree()

repo.branches

print dir(repo)

#these always crash...
repo.is_dirty()

谢谢大家的帮助。

暂无标签

1 个回答

2

你可能在你的 PATH 里没有 git.ext,但你可以自己测试一下。只要执行一下这个命令,如果出现错误,那你可以选择把它加到 PATH 里,或者设置 GIT_PYTHON_GIT_EXECUTABLE,让 git-python 知道应该用哪个可执行文件来处理 git 命令。

之所以 .tree() 和相关的对象查询可以正常工作,是因为 gitpython 在这些操作中使用的是纯 Python 的后端。而像 .is_dirty() 这样更复杂的操作,默认情况下还是需要 git 可执行文件在你的 PATH 里。

撰写回答