【问题标题】:Mercurial error *** failed to import extension hggit: No module named hggitMercurial 错误 *** 无法导入扩展 hggit:没有名为 hggit 的模块
【发布时间】:2011-02-27 14:06:28
【问题描述】:

我在我的 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。

有没有人知道如何解决这个问题

【问题讨论】:

  • 有趣的是,这个问题在 2021 年仍然发生在我身上……而且他们的文档甚至不正确。这是pip3 install hg-git(而不是 hggit)

标签: python macos mercurial hg-git


【解决方案1】:

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

brew cask install python
brew cask install tortoisehg

安装后

sudo easy_install hg-git

我遇到了类似的问题(TortoiseHg: 无法导入扩展 hggit: 没有名为 hggit 的模块等等......),终于在 mac 上找到了我的 TortoiseHg 的解决方案(先卸载最后一个 hg-git by sudo pip uninstall hg-git):

sudo pip install mercurial
sudo pip install hg-git

使用 pip 安装并为所有重要分支添加书签后,例如。 G。 ...

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 告诉你问题

【讨论】:

  • 卸载、重新安装 mercurial 和 hg-git 在 mac 上最适合我。这是最简单的答案:sudo pip uninstall hg-git && sudo pip install mercurial && sudo pip install hg-git。完成。
【解决方案2】:

即使在下载了最新的 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,这很有效,但它导致了其他错误,正如人们想象的那样。

【讨论】:

    【解决方案3】:

    我遇到了与通过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 默认母版

    【讨论】:

      【解决方案4】:

      使用以下命令安装 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"
      

      【讨论】:

      • 好吧,如果我运行该命令,它不会返回任何内容,因此不会出现错误消息。
      • @Stofke:运行 hg 的 Python 是同一个吗?我认为 hg 找不到您的 hggit 安装。
      • @Stofke:举个例子,我刚刚在 Python 2.7 下安装了 hggit,而我路径中的 hg 是为 Python 2.6 安装的。我得到与你完全相同的错误:)
      • head -n1 which hg 返回此 #!/opt/local/Library/Frameworks/Python.framework/Versions/2.6/Resources/Python.app/Contents/MacOS/Python
      • 要真正成为答案,它需要将 cmets 中的内容合并到实际答案中...
      【解决方案5】:

      对于安装“mercurial-git”包以在 12.04 上获取 hggit 模块的 ubuntu 用户的注意事项,一些明亮的火花将模块随机重命名为“git”,因此您需要将 ~/.hgrc 更改为类似于

      [extensions]
      hgext.bookmarks =
      git =
      

      【讨论】:

      • 是的,我不喜欢“git”这个名字。幸运的是,我刚刚发现您可以像书签扩展一样为其添加前缀(“hgext.”)!
      • 是的,我必须进行此更改(遵循文档arr.gr/blog/2011/10/bitbucket-converting-hg-repositories-to-git),但此Hg-Git mercurial 插件不会转换任何其他分支,master 分支除外。所以没用。
      • @BMW 您在 2017 年尝试时可能没有,但它在 2019 年对我的分支机构运行良好。
      【解决方案6】:

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

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

      【讨论】:

        【解决方案7】:
        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. 尝试hgclone/push/pull 来自github

        【讨论】:

          猜你喜欢
          • 2021-08-23
          • 1970-01-01
          • 1970-01-01
          • 2018-10-12
          • 2020-11-06
          • 1970-01-01
          • 2018-07-10
          • 2015-11-30
          相关资源
          最近更新 更多