Я пытаюсь использовать расширение hq- git Mercurial в Windows (для Windows 7 требуется 64-разрядная версия). У меня установлен Mercurial и Git. У меня установлен Python 2.5 (32-разрядный).
Я выполнил инструкции http://hg-git.github.com/ для установки расширения. Исходная easy_install завершилась неудачно, поскольку она не смогла скомпилировать dulwich без Visual Studio 2003.
Я установил dulwich вручную:
- git clone git://git.samba.org/jelmer/dulwich.git
- cd dulwich
- c:\Python25\python setup.py --pure install
Теперь, когда я запускаю easy_install hg- git, он преуспевает (поскольку зависимость dulwich выполняется).
В моем C:\Users\username\Mercurial.ini у меня есть:
[extensions]
hgext.bookmarks =
hggit =
Когда я печатаю 'hg' в командной строке, я вижу: "*** не удалось импортировать расширение hggit: нет модуля с именем hggit"
В моей папке c:\Python25 единственная ссылка на hggit, которую я вижу, это Lib\site-packages\hg_git-0.2.1-py2.5.egg
. Предполагается, что это должно быть извлечено где-нибудь, или оно должно работать как есть?
С тех пор, как это не удалось, я попытался выполнить "более привлекательные" инструкции на странице hg- git, которые предложили клонирование git://github.com/schacon/hg- git.git и ссылку на путь в моя конфигурация Mercurial. Я клонировал репо и изменил файл расширений, чтобы выглядеть так:
[extensions]
hgext.bookmarks =
hggit = c:\code\hg-git\hggit
Теперь, когда я запускаю hg, я вижу: *** не удалось импортировать расширение hggit из c:\code\hg- git\hggit: нет модуля с именем dulwich.errors.
Итак, это говорит мне, что теперь он находит hggit, потому что я вижу в hg- git\hggit\git_handler.py, что он вызывает
from dulwich.errors import HangupException
Это заставляет меня думать, что dulwich установлен неправильно, или нет в пути.
Update:
Из командной строки Python:
import dulwich
дает Import Error: No module named dulwich
Однако в папке C:\Python25\Lib\site-packages у меня есть папка dulwich-0.5.0-py2.5.egg, которая, как представляется, заполняется. Это было создано вышеописанными шагами. Есть ли еще один шаг, который я должен предпринять, чтобы сделать его частью "пути" Python?
Из командной строки Python (как предложено в одном из ответов):
import pkg_resources
pkg_resources.require('dulwich')
дает [dulwich 0.5.0 (c:\python25\lib\site-packages\dulwich-0.5.0-py2.5.egg)]
Так что это говорит мне? Импорт dulwich не удался, но, видимо, pkg_resources может его найти. Что я могу сделать с этой информацией?