无法在python中导入git

时间:2015-02-16 07:18:07

标签: python windows git github

我正面临着这些问题。你能帮我一下吗? 为什么我看到这个错误?我是否必须在requirements.txt文件中添加任何内容?

>>> import git
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
 import git
File "git\__init__.py", line 29, in <module>
_init_externals()
File "git\__init__.py", line 23, in _init_externals
raise ImportError("'gitdb' could not be found in your PYTHONPATH")
ImportError: 'gitdb' could not be found in your PYTHONPATH

>>> from git import Repo
Traceback (most recent call last):
File "<pyshell#8>", line 1, in <module>
from git import Repo
File "git\__init__.py", line 29, in <module>
_init_externals()
File "git\__init__.py", line 23, in _init_externals
raise ImportError("'gitdb' could not be found in your PYTHONPATH")
ImportError: 'gitdb' could not be found in your PYTHONPATH

5 个答案:

答案 0 :(得分:10)

我已经安装了gitdbsmmap,所以我不得不重新安装它们。

您可以通过在终端中运行以下命令来重新安装它们:pip3 install --upgrade --force-reinstall gitdb; pip3 install --upgrade --force-reinstall smmap

答案 1 :(得分:5)

我也收到了消息ImportError: 'gitdb' could not be found in your PYTHONPATH(当试图使用GitPython时)。
但是我已经安装了gitdb!
感谢this hint我发现gitdb默默失败,因为它丢失了smmap 所以我安装了它并且工作正常。

答案 2 :(得分:3)

您需要安装gitdb包。

$ sudo easy_install gitdb

答案 3 :(得分:0)

我遇到了同样的问题。但是,pip已经安装了gitdb和smmap。因为我使用brew在我的mac上安装python及其依赖项,当我检查brew doctor命令时,它说我的/ usr / local / sbin目录不在我的PATH中。所以我将它添加到我的PATH中(尽管它与python没有任何关系)并且最终都解决了。

答案 4 :(得分:0)

MS Windows 版本 可能会出现此问题因为 Python 版本在系统 PATH 中的顺序,就像对我一样。我没有意识到,当我安装另一个程序时,它安装了一个新版本的 Python 供自己使用,并将地址附加到我的系统 PATH 到新版本中。当我查看 PATH 变量并发现调用了两个版本的 Python 时,我注意到了这一点。 Windows 使用它找到的第一个,如果第一个与您的程序期望的不匹配,它会感到困惑并且无法找到模块的正确路径。这是我为解决它所做的:


检查:测试这是否是您的问题的一种简单方法是查看由分号分隔的路径是否按正确顺序排列。这可以在 System Variables of Windows 中看到,也可以通过在 CMD shell 中打印 PATH 变量来查看,如下例所示:

C:> 路径
PATH=C:\Program Files (x86)\Python37-32\Scripts;C:\Program Files (x86)\Python37-32;C:\Program Files\Python38\Scripts;C:\WINDOWS


临时解决方案: 要查看它是否会修复您的计算机,请在您的 CMD 窗口中更改它。当窗口关闭时,您的变量更改将被丢弃。进行此测试的一种方法是复制路径,将 Python 引用移动到所需的顺序,然后将其写回:

C:> set path = C:\WINDOWS;C:\Program Files (x86)\Python37-32;C:\Program Files\Python38\Scripts ;C:\Program Files (x86)\Python37-32\Scripts\

然后运行 ​​Python 程序,看看这是否是您的问题。请注意,这只是一个示例;不要复制和粘贴它。您的路径是为您计算机上的程序自定义的。


永久解决方案:如果上述测试解决了您的问题,您必须change your System Variables 使更改永久化。对我来说,通常需要在之后重新启动才能使变量出现在所有新窗口中。