Mercurial错误 *** 导入扩展hggit失败:没有名为hggit的模块

39 投票
7 回答
22542 浏览
提问于 2025-04-16 12:37

我在我的Mac上安装了Mercurial,感觉非常不错。对我来说,它比Git更容易理解,所以我想用它来管理Git仓库。于是我按照以下说明安装了hg-git:

http://hg-git.github.com/

但是,每次我输入hg命令时,它都会返回这个错误信息:

  Mercurial error *** failed to import extension hggit: No module named hggit 

值得注意的是,我是在Mac上,而不是Gnu/Linux或MS-Windows。

有没有人知道该怎么解决这个问题吗?

7 个回答

5

我通过以下方式安装了Python和TortoiseHg:

brew cask install python
brew cask install tortoisehg

按照安装步骤完成后

sudo easy_install hg-git

我遇到了类似的问题(TortoiseHg: 无法导入扩展hggit: 没有名为hggit的模块等等...),最后我找到了解决我在Mac上使用TortoiseHg的方法(首先通过 sudo pip uninstall hg-git 卸载最后的hg-git):

sudo pip install mercurial
sudo pip install hg-git

通过pip安装后,并为所有重要的分支添加了书签,比如...

hg bookmark -r default master
hg bookmark -r branchename bookmarkname

...我可以把HG仓库推送到Git上:

hg push git+ssh://git@gitlab.URL/reponame.git --traceback

注意:使用ssh!- 对于大型仓库来说,问题会少一些

注意2:--traceback可以告诉你出现了什么问题

46

给使用Ubuntu的朋友们一个小提示,如果你在12.04版本上安装了“mercurial-git”这个软件包来获取hggit模块,有个聪明的人把这个模块的名字改成了简单的“git”。所以你需要把你的~/.hgrc文件修改成下面这样的格式:

[extensions]
hgext.bookmarks =
git =
21

在用下面的命令安装 hg-git 之后:

easy_install hg-git

接下来这个能用吗?

python -c "import hggit"

这对你来说是什么意思:

head -n1 `which hg`

后面这个命令的目的是检查运行 hg 的 Python 是否安装了 hggit。在我的情况下,它显示的是 '#!/usr/bin/python',这就是我常用的 Python 命令。

这又是什么意思:

/opt/local/Library/Frameworks/Python.framework/Versions/2.6/Resources/Python.a­pp/Contents/MacOS/Python -c "import hggit"

撰写回答