Расширения Mercurial не работают в Windows 7 x64?
мы тест вождения Mercurial на работе. Мы не хотим вводить наш user / pass каждый раз, когда мы взаимодействуем с репозиторием, поэтому мы настраиваем расширение mercurial_keyring. Мы:
- установлен Python 2.6.5 (32 или 64 бит, в зависимости от системы)
- установить setuptools (easy_install для.exe)
- брелок easy_install
- easy_install mercurial_keyring
, а затем внес соответствующие изменения в %userprofile% / mercurial.ini в . Он отлично работает на компьютере моего коллеги (32bit xp sp3), но он не работает на моей машине (Windows 7 Ultimate x64). Также следует отметить, что setuptools должен был быть построен из исходного кода на Win 7 x64 (python setup.py bdist_wininst
, затем запустите результирующий setuptools-0.6c11.победа-для amd64.исполняемый.)
используя только hg.exe из бинарной установки Mercurial 1.5 (the .msi), я получаю эту ошибку при запуске hg.exe:
*** не удалось импортировать расширение mercurial_keyring: нет модуля с именем mercurial_keyring
Я попытался изменить свой ртутный.ini, чтобы указать путь к mercurial_keyring.py файл, вместо того, чтобы mercurial найти его (так как он находится в PYTHONPATH).
старый:
[extensions]
mercurial_keyring =
New:
[extensions] mercurial_keyring =
c:/mercurial/extensions/mercurial_keyring.py
ошибка меняется на:
abort: не удалось импортировать модуль брелок!
таким образом, обеспечивая путь к расширение mercurial_keyring работает, зависимый модуль keyring все еще не найден.
после дальнейшего исследования, похоже, что никакие расширения не работают. Все они производят ошибку:
*** не удалось импортировать расширение [имя расширения]: нет модуля с именем [имя модуля]
похоже, что при запуске hg.exe, он не знает PYTHONPATH. Я пробовал:
- в Python 2.6.5 32 бит
- Python 2.6.5 64 бит
- строительство Mercurial 1.5 от источника с MinGW
- построение Mercurial 1.5 из источника с MSVC9
- использование hg.exe из 1.5 двоичного dist (.msi)
- используя hg.py в c:python26scripts при построении из источника
- различные конфигурации в %userprofile%/mercurial.ini
- используя setuptools (easy_install.exe) установить брелок и mercurial_keyring
- дом брелок и mercurial_keyring от источник (python setup.py bdist_wininst)
ничего не работает. Ближайший я получил это через hg.py при сборке из исходников. Это, по крайней мере, не дает мне ошибок и фактически создает %userprofile%/wincrypto_pass.cfg когда я ввожу свои данные. Но при последующих запросах он не вводит учетные данные автоматически. Это снова побуждает меня к ним.
Интересно, TortoiseHG is, используя брелок. Я просто не могу заставить его работать на команду линия. Я думаю, что что-то происходит с Win 7 x64, что предотвращает mercurial (hg.exe) от просмотра PYTHONPATH, поэтому он не может найти ни один из установленных модулей.
есть ли у кого-нибудь расширения, работающие в Win 7 x64? В частности, с бинарной установкой mercurial (не hg.py)?
обновление Я нашел подходящую работу. С Черепахи тут работа с mercurial_keyring, я просто изменил настройку пути на включите папку tortoiseHG, но не c:mercurial - ... Теперь, когда я набираю " hg " в командной строке, он использует hg.exe в папке tortoiseHG, которая отлично работает. Тем не менее, это все еще проблема с расширениями mercurial на Win 7 x64. Ответы приветствуются.
3 ответов
отвечая на мой собственный вопрос с моим предыдущим обновлением, так как пока нет других участников.
подходящий обходной путь: начиная с TortoiseHG тут работа с mercurial_keyring, я просто изменил свой путь на включить папка tortoiseHG и исключить c:\mercurial. Теперь, когда я набираю " hg " в командной строке, он использует hg.exe в папке tortoiseHG, которая отлично работает с брелоком.
Я использую:
- в Windows Server 2008 SP2 x86:
- Python 2.6.5 x86
- Mercurial 1.5.1 x86
- TortoiseHg 1.0.1 x86
- в Windows Server 2008 R2:
- Python 2.6.5 x86
- Mercurial 1.5.1 x86
- TortoiseHg 1.0.1 x64
в обеих настройках все настроенные расширения загружаются без ошибок.
все инструменты устанавливаются с помощью инсталляторов, предусмотренных на их сайтах. Mercurial появляется перед TortoiseHg в пути. Я использую общий файл конфигурации ~/.hgrc
для обоих инструментов, и Mercurial.ini
файл в папке установки TortoiseHg, который загружает только
страница расширения заявляет, что TortoiseHG имеет некоторые дополнительные компоненты, чтобы заставить его работать на Windows, и что он не работает должным образом без них. Похоже, что обходной путь ссылки на версию TortoiseHG может быть самым простым способом заставить ее работать на Windows.