Mercurial error *** не удалось импортировать расширение hggit: нет модуля с именем hggit - PullRequest
27 голосов
/ 27 февраля 2011

Я установил Mercurial на свой Mac, и это замечательно. Для меня это легче понять, чем Git, поэтому я хотел использовать его для управления git-репозиториями. Поэтому я установил hg-git со следующими инструкциями:

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

Но каждый раз, когда я запускаю команду hg, она возвращает это сообщение об ошибке:

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

Возможно, важно отметить, что я на Mac, а не на ПК с Windows.

Кто-нибудь знает, как решить эту проблему

Ответы [ 6 ]

40 голосов
/ 05 октября 2012

Примечание для пользователей Ubuntu, которые устанавливают пакет "mercurial-git", чтобы получить модуль hggit 12.04. Некоторые яркие искры случайным образом переименовали модуль в "git", поэтому вам нужно изменить ~ / .hgrc, чтобы он выглядел примерно так

[extensions]
hgext.bookmarks =
git =
21 голосов
/ 27 февраля 2011

После установки 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"
2 голосов
/ 01 февраля 2016

Я также получил эту ошибку даже после загрузки последней версии Tortoisehg и убедившись, что плагин hggit установлен, а мои файлы .ini & hgrc имеют правильную запись для включения hggit.

Оказывается, моя проблема заключалась в том, что у меня на пути были и ртутный, и черепаховый. Поэтому когда я запускал какие-либо команды hg, он использовал hg.exe в папке mercurial, а не hg.exe в каталоге torsoisehg.

Это имеет смысл, но у моей ртутной установки не было плагинов. Мое исправление состояло в том, чтобы удалить mercurial из моего пути, чтобы команды hg проходили через каталог tortoisehg, поскольку он полностью связан с hg. Однако обратите внимание, что рекомендуемый вариант может состоять в обновлении mercurual до версии, в которой есть плагины, которые нужны, но это то, что мне помогло. Я попытался заменить файл library.zip в Mercurial на Tortoisehg, и это сработало, но это привело к другим ошибкам, как можно себе представить.

2 голосов
/ 13 мая 2015

Я установил Python и TortoiseHg по:

brew cask install python
brew cask install tortoisehg

После следующей установки

sudo easy_install hg-git

У меня возникли похожие проблемы ( TortoiseHg: не удалось импортировать расширение hggit: модуль не названhggit и так далее ... ) и, наконец, нашел решение для моего TortoiseHg на Mac ( сначала удалите последний 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 сообщает вам о проблемах

1 голос
/ 26 мая 2015

У меня была такая же проблема, и я обнаружил, что установка hg-git и dulwich с помощью easy_install работала, если я использовал опцию --user.Это установило пакет в ~/Library/Python/2.7/lib/python/site-packages.

Чтобы увидеть, где эта опция установит пакет на ваш компьютер, запустите easy_install --help.В документации к опции --user он показывает каталог установки, который будет использоваться.

0 голосов
/ 02 марта 2019
  1. клон hggit от http://bitbucket.org/durin42/hg-git
  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

...