37

我在我的 Mac 上安装了 Mercurial,非常棒。对我来说,它比 Git 更容易掌握,所以我想用它来管理 git-repositories。因此,我按照以下说明安装了 hg-git:

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

但是每次我发出 hg 命令时,它都会返回此错误消息:

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

我可能需要注意的是,我使用的是 Mac 而不是 Windows PC。

有谁知道如何解决这个问题

4

7 回答 7

46

请注意安装“mercurial-git”软件包以在 12.04 上获取 hggit 模块的 ubuntu 用户,一些明亮的火花随机将模块重命名为“git”,因此您需要更改 ~/.hgrc 看起来像

[extensions]
hgext.bookmarks =
git =
于 2012-10-05T01:31:29.377 回答
21

使用以下命令安装 hg-git 后:

easy_install hg-git

下面的工作吗?

python -c "import hggit"

这对你说了什么:

head -n1 `which hg`

后一个命令的重点是验证 Python hg 运行下是否安装了 hggit。在我的例子中,它显示“#!/usr/bin/python”,这是我的标准 python 命令。

这说明了什么:

/opt/local/Library/Frameworks/Python.framework/Versions/2.6/Resources/Python.a­pp/Contents/MacOS/Python -c "import hggit"
于 2011-02-27T14:37:29.457 回答
5

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

brew cask install python
brew cask install tortoisehg

以下安装后

sudo easy_install hg-git

我遇到了类似的问题(TortoiseHg: failed to import extension hggit: No module named hggit 等等...),最后在 mac 上找到了我的 TortoiseHg 的解决方案(首先卸载最后一个 hg-git sudo pip uninstall 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 告诉你问题

于 2015-05-13T14:20:19.017 回答
5

即使在下载了最新的 Tortoisehg 并确保安装了 hggit 插件以及我的 .ini 和 hgrc 文件具有启用 hggit 的正确条目之后,我也遇到了这个错误。

原来我的问题是我的路上同时有 mercurial 和 tortoisehg。因此,当我运行任何 hg 命令时,它使用的是 mercurial 文件夹中的 hg.exe,而不是 torsoisehg 目录中的 hg.exe。

这是有道理的,但我的 mercurial 安装没有插件。我的解决方法是从我的路径中删除 mercurial,以便 hg 命令通过 tortoisehg 目录,因为它已经完全捆绑了 hg。但是请注意,推荐的选项可能是将 mercurual 升级到具有所需插件的版本,但这对我有用。我尝试将 mercurial 中的 library.zip 替换为 tortoisehg 中的 library.zip,这很有效,但它会导致其他错误,正如人们想象的那样。

于 2016-02-01T20:17:05.200 回答
1

--user我遇到了同样的问题,发现如果我使用该选项,通过 easy_install 安装 hg-git 和 dulwich 是可行的。这将软件包安装到~/Library/Python/2.7/lib/python/site-packages.

要查看此选项将在您的计算机上安装软件包的位置,请运行easy_install --help. 通过该--user选项的文档,它显示了将使用的安装目录。

于 2015-05-26T09:03:13.813 回答
1

brew install mercurial我遇到了与我通过缺少某些软件包看到的相同的问题。

如果有任何包裹遗漏,请进行测试,例如:python -c "import hggit"

我的修复:卸载所有软件包:

brew uninstall mercurial

安装pip如下:

  • sudo easy_install pip(如果你没有pip

  • sudo pip install mercurial

  • sudo pip install hg-git

然后

hg 书签 -r 默认母版

于 2020-02-05T12:35:47.770 回答
0
  1. 从http://bitbucket.org/durin42/hg-git克隆 hggit
  2. 从本地计算机获取 hg-git 路径。在我的本地计算机中/Users/coco/go/src/bitbucket.org/durin42/hg-git/hggit
  3. ~.hgrc使用文本编辑器添加文件路径
  4. 添加以下代码行

    [extenstions]
    hggit = /Users/coco/go/src/bitbucket.org/durin42/hg-git/hggit
    
  5. 尝试hg clone/push/pull形成github

于 2019-03-02T14:44:38.663 回答