Mercurial Erweiterungen funktionieren nicht in Windows 7 x64?
-
23-09-2019 - |
Frage
Wir sind Test Mercurial bei der Arbeit fahren. Wir wollen nicht unsere Benutzer eingeben müssen / jedes Mal passieren wir interact mit einem Repository, wir die mercurial_keyring Erweiterung so eingerichtet. Wir:
- Installierte Python 2.6.5 (32 oder 64 Bit, je nach System)
- Installierte Setuptools (für easy_install.exe)
- easy_install Keyring
- easy_install mercurial_keyring
Und dann die entsprechenden Änderungen an% userprofile% / Mercurial.ini im [auth]
Abschnitt. Es funktioniert gut auf meinem Kollegen Computer (32-Bit-XP SP3), aber es funktioniert nicht auf meinem Rechner (Windows 7 Ultimate x64). Ebenfalls bemerkenswert hatten die Setuptools von der Quelle auf Win 7 x64 gebaut werden (python setup.py bdist_wininst
, dann führen Sie das resultierende Setuptool-0.6c11.win-amd64.exe).
Mit nur hg.exe aus dem Mercurial 1.5 Binärinstallation (.msi), habe ich diese Fehlermeldung erhalten, wenn ich hg.exe laufen:
*** fehlgeschlagen Import Erweiterung mercurial_keyring: Kein Modul mit dem Namen mercurial_keyring
Ich habe versucht, meine Mercurial.ini zu ändern, den Pfad zu der mercurial_keyring.py Datei angeben, anstatt es Mercurial zu finden (da es in der PYTHONPATH ist).
Alt:
[extensions]
mercurial_keyring =
Neu:
[extensions] mercurial_keyring =
c:/mercurial/extensions/mercurial_keyring.py
Der Fehler ändert sich an:
Abbruch: Es konnte kein Import-Modul Keyring!
Während also den Pfad zu den mercurial_keyring Erweiterungsarbeiten bereitstellt, der abhängige Keyring Modul noch nicht gefunden werden kann.
Nach einer weiteren Untersuchung scheint es, dass keine Erweiterungen Arbeit. Sie alle produzieren den Fehler:
*** fehlgeschlagen Import Erweiterung [Erweiterung Name]: Kein Modul mit dem Namen [Modulname]
Es scheint, dass, wenn hg.exe läuft, ist es nicht bewusst PYTHONPATH ist. Ich habe versucht:
- Python 2.6.5 32-Bit
- Python 2.6.5 64-Bit
- Gebäude Mercurial 1.5 von Quelle mit MinGW
- Gebäude Mercurial 1.5 von Quelle mit MSVC9
- Mit hg.exe vom 1,5 binären dist (.msi)
- Verwenden der hg.py in c: \ python26 \ scripts, wenn die Sourcen
- Verschiedene Konfigurationen in% userprofile% / Mercurial.ini
- Verwenden von Setuptool (easy_install.exe) zu installieren, Schlüsselbund und mercurial_keyring
- Gebäudeschlüsselbund und mercurial_keyring von der Quelle (Python setup.py bdist_wininst)
Nichts funktioniert. Der nächstgelegene ich habe verwendet hg.py wenn die Sourcen. Es zumindest nicht geben Sie mir Fehler und schafft tatsächlich% userprofile% / wincrypto_pass.cfg, wenn ich meine Anmeldeinformationen eingeben. Aber bei nachfolgenden Anforderungen, ist es nicht die Anmeldeinformationen automatisch ein. Es fordert mich für sie wieder.
Interessanterweise TortoiseHG ist das Keyring. Ich kann einfach nicht bekommen es auf der Kommandozeile zu arbeiten. Ich denke, dass etwas los ist mit Win 7 x64, die Mercurial (hg.exe) vom Sehen der PYTHONPATH verhindert, so dass es keine der installierten Module finden kann.
jemand hat Erweiterungen arbeiten in Win 7 x64? Insbesondere mit der binären Installation von Mercurial (nicht hg.py)?
UPDATE Ich habe eine geeignete Arbeit um für jetzt gefunden. Da TortoiseHG hat Arbeit mit mercurial_keyring, habe ich einfach meinen PATH-Setup geändert, um die TortoiseHg Ordner umfasst, aber nicht c: \ Mercurial. Nun, wenn ich in der Befehlszeile „hg“ geben, es ist die hg.exe im TortoiseHg Ordner verwenden, der gut arbeitet. Genau das gleiche, das ist immer noch ein Problem mit Quecksilber-Erweiterungen auf Win 7 x64. Antworten begrüßen zu können.
Lösung
Die Beantwortung meiner Frage mit meinem vorherigen Update, da es keine anderen Abnehmer vor.
Als Abhilfe: Da TortoiseHG hat Arbeit mit mercurial_keyring, ich habe meinen PATH einfach geändert ist die TortoiseHg Ordner und ausschließen c : \ mercurial. Nun, wenn ich „hg“ in der Befehlszeile eingeben, es ist die hg.exe im TortoiseHg Ordner verwenden, die gut mit dem Schlüsselbund arbeitet.
Andere Tipps
Ich bin mit:
- auf Windows Server 2008 SP2 x86:
- Python 2.6.5 x86
- Mercurial 1.5.1 x86
- TortoiseHg 1.0.1 x86
- auf Windows Server 2008 R2:
- Python 2.6.5 x86
- Mercurial 1.5.1 x86
- TortoiseHg 1.0.1 x64
Auf beiden Setups werden alle konfigurierten Erweiterungen sind ohne Fehler geladen.
Alle Werkzeuge werden mit den auf ihren Websites zur Verfügung gestellt Installateure installiert. Mercurial erscheint vor TortoiseHg in PATH. Ich bin eine gemeinsame Konfigurationsdatei ~/.hgrc
für beide Werkzeuge verwenden und eine Mercurial.ini
Datei in TortoiseHg Installationsordner, der gerade die mercurial_keyring
Erweiterung geladen ist.
Auf der Kommandozeile I eingeben müssen das Passwort jedes Mal, es gebraucht wird, aber in TortoiseHg der Schlüsselbund Erweiterungen es voll funktionsfähig.
Aus Keyring Erweiterung Seite auf dem Mercurial Wiki:
Wenn Sie unter Windows sind, empfehlen wir Ihnen TortoiseHg verwenden. THG Schiffe mit Windows-spezifischen Schlüsselbund Backends, ohne die die Mercurial-Keyring Erweiterung nicht richtig auf Windows funktionieren kann.
UPDATE http://asimilatorul.com/adapter/post/using-mercurial_keyring-extension-with-mercurial-on-windows/
Sie können die erforderlichen Dateien aus TortoiseHg Kopie library.zip in Mercurial library.zip :
- hgext \ mercurial_keyring.pyo
- keyring__init __. Pyo
- Schlüsselbund \ backend.pyo
- Schlüsselbund \ core.pyo
- win32_crypto.pyd
Die Erweiterung besagt, dass TortoiseHG einige zusätzliche Komponenten hat, um es zu machen arbeiten Fenster und dass es nicht richtig, ohne sie funktioniert. Es klingt wie die Umgehung von Verweisen auf die TortoiseHG Version kann der einfachste Weg, es unter Windows zum Laufen zu bringen.