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.

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top