Расширения 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.