Подвижные расширения, не работающие в Windows 7 x64?

Мы - тест, управляющий Подвижным на работе. Мы не хотим должными быть вводить нашего пользователя/передачу каждый раз, когда мы взаимодействуем с репозиторием, таким образом, мы настраиваем mercurial_keyring расширение. Мы:

  • Установленный Python 2.6.5 (32 или 64 бита, в зависимости от системы)
  • Установленный setuptools (для easy_install.exe)
  • брелок для ключей easy_install
  • easy_install mercurial_keyring

И затем внес соответствующие изменения в %userprofile%/mercurial.ini в [auth] раздел. Это хорошо работает на компьютере моего коллеги (xp sp3 на 32 бита), но это не работает над моей машиной (Windows 7 Ultimate x64). Также примечательный, setuptools должен был быть создан из источника на Win 7 x64 (python setup.py bdist_wininst, затем выполните получающийся setuptools-0.6c11.win-amd64.exe).

Используя просто hg.exe от Подвижных 1,5 двоичных установок (.msi), я получаю эту ошибку, когда я выполняю hg.exe:

*** не удалось импортировать расширение mercurial_keyring: Никакой модуль, названный mercurial_keyring

Я пытался изменить свой mercurial.ini, указать путь к mercurial_keyring.py файлу, вместо того, чтобы иметь подвижную находку это (так как это находится в PYTHONPATH).

Старый:

[extensions]
mercurial_keyring =

Новый:

[extensions] mercurial_keyring =
c:/mercurial/extensions/mercurial_keyring.py

Ошибка изменяется на:

аварийное прекращение работы: не мог импортировать брелок для ключей модуля!

Таким образом, при обеспечении пути к mercurial_keyring дополнительным работам, зависимый модуль брелока для ключей все еще не может быть найден.

После дальнейшего расследования кажется, что НИКАКИЕ расширения не работают. Они все производят ошибку:

*** не удалось импортировать расширение [дополнительное имя]: Никакой модуль не называют [имя модуля]

Кажется, что при выполнении hg.exe, это не знает о PYTHONPATH. Я попробовал:

  • Python 2.6.5 32 бита
  • Python 2.6.5 64 бита
  • Создание Подвижных 1.5 из источника с MinGW
  • Создание Подвижных 1.5 из источника с MSVC9
  • Используя hg.exe от 1,5 двоичных файлов dist (.msi)
  • Используя hg.py в c:\python26\scripts при создании из источника
  • Различные конфигурации в %userprofile%/mercurial.ini
  • Используя setuptools (easy_install.exe) для установки брелока для ключей и mercurial_keyring
  • Создание брелока для ключей и mercurial_keyring из источника (Python setup.py bdist_wininst)

Ничто не работает. Самое близкое, которое я имею, использует hg.py при создании из источника. Это, по крайней мере, не дает мне ошибки и на самом деле создает %userprofile %/wincrypto_pass.cfg, когда я ввожу свои учетные данные. Но по последующим запросам, это не вводит учетные данные автоматически. Это предлагает мне их снова.

Интересно, TortoiseHG использует брелок для ключей. Я просто не могу заставить это работать над командной строкой. Я думаю, что что-то продолжает Win 7 x64, который предотвращает подвижный (hg.exe) от наблюдения PYTHONPATH, таким образом, это не может найти ни один из установленных модулей.

У кого-либо есть расширения, работающие в Win 7 x64? Конкретно с двоичной установкой подвижных (не hg.py)?

ОБНОВЛЕНИЕ я нашел подходящему работу вокруг на данный момент. Так как TortoiseHG действительно работает с mercurial_keyring, я просто изменил свою Установку тракта для включения tortoiseHG папки, но не c:\mercurial. Теперь, когда я ввожу "hg" в командной строке, он использует hg.exe в tortoiseHG папке, которая хорошо работает. Все равно это - все еще проблема с подвижными расширениями на Win 7 x64. Приветствующиеся ответы.

15
задан Jon Seigel 9 May 2010 в 19:27
поделиться

2 ответа

Отвечая на свой вопрос с моим предыдущим обновлением, так как других участников пока нет.

Подходящий обходной путь: поскольку TortoiseHG действительно работает с mercurial_keyring, я просто изменил свой PATH на , включая папку tortoiseHG, и исключил c: \ mercurial . Теперь, когда я набираю «hg» в командной строке, он использует файл hg.exe в папке tortoiseHG, который отлично работает с связкой ключей.

18
ответ дан 1 December 2019 в 02:46
поделиться

Я использую:

  • в 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 в PATH. Я использую общий файл конфигурации ~ / .hgrc для обоих инструментов и файл Mercurial.ini в папке установки TortoiseHg, который загружает только mercurial_keyring расширение.

В командной строке я должен вводить пароль каждый раз, когда это необходимо, но в TortoiseHg с расширениями связки ключей он полностью работает.

Со страницы Keyring Extension в вики Mercurial:

Если вы работаете в Windows, мы рекомендуем вам использовать TortoiseHg. THG поставляется со специальными бэкэндами для Windows, без которых расширение mercurial-keyring не может нормально работать в Windows.

ОБНОВЛЕНИЕ http://asimilatorul.com/adapter/post/using-mercurial_keyring-extension-with-mercurial-on-windows/

Вы можете скопировать необходимые файлы из TortoiseHg library.zip в Mercurial library.zip :

  • hgext \ mercurial_keyring.pyo
  • keyring__init __. Pyo
  • keyring \ backend.pyo
  • keyring \ core.pyo
  • win32_crypto. pyd
4
ответ дан 1 December 2019 в 02:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: