سؤال

نحن نختبر قيادة الزئبق في العمل. لا نريد إدخال المستخدم/النجاح في كل مرة نتفاعل فيها مع مستودع ، لذلك قمنا بإعداد امتداد Mercurial_Keyring. نحن:

  • تثبيت Python 2.6.5 (32 أو 64 بت ، اعتمادًا على النظام)
  • setuptools مثبتة (لـ easy_install.exe)
  • easy_install keyring
  • easy_install mercurial_keyring

ثم قمت بالتغييرات المناسبة على ٪ userprofile ٪/mercurial.ini في [auth] الجزء. إنه يعمل بشكل جيد على جهاز كمبيوتر زميلي (32 بت XP SP3) ، لكنه لا يعمل على جهاز My Machine (Windows 7 Ultimate X64). تجدر الإشارة أيضًا إلى أنه كان يجب بناء Setuptools من المصدر على Win 7 X64 (python setup.py bdist_wininst, ، ثم قم بتشغيل setuptools-0.6c11.win-amd64.exe).

باستخدام فقط hg.exe من التثبيت الثنائي Mercurial 1.5 (. MSI) ، أحصل على هذا الخطأ عندما أقوم بتشغيل hg.exe:

*** فشل في استيراد ملحق mercurial_keyring: لا توجد وحدة تدعى mercurial_keyring

حاولت تغيير mercurial.ini ، لتحديد المسار إلى ملف mercurial_keyring.py ، بدلاً من العثور عليه Mercurial (لأنه في Pythonpath).

عمر او قديم:

[extensions]
mercurial_keyring =

جديد:

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

يتغير الخطأ إلى:

الإجهاض: لا يمكن استيراد مفاتيح الوحدة النمطية!

لذلك مع توفير المسار إلى امتداد Mercurial_Keyring ، لا تزال وحدة المفاتيح التابعة لا يمكن العثور عليها.

بعد مزيد من التحقيق ، يبدو أنه لا توجد امتدادات تعمل. جميعهم ينتجون الخطأ:

*** فشل في استيراد تمديد [اسم الامتداد]: لا توجد وحدة مسماة [اسم الوحدة النمطية

يبدو أنه عند تشغيل hg.exe ، فإنه لا يدرك Pythonpath. لقد حاولت:

  • بيثون 2.6.5 32 بت
  • بيثون 2.6.5 64 بت
  • بناء Mercurial 1.5 من المصدر مع Mingw
  • بناء ميركوريال 1.5 من المصدر مع MSVC9
  • باستخدام hg.exe من Dist الثنائي 1.5 (.Msi)
  • باستخدام hg.py في c: python26 البرامج النصية عند البناء من المصدر
  • تكوينات مختلفة في ٪ userprofile ٪/mercurial.ini
  • باستخدام setuptools (easy_install.exe) لتثبيت المفاتيح و mercurial_keyring
  • بناء المفاتيح و mercurial_keyring من المصدر (python setup.py bdist_wininst)

لا شيء يعمل. الأقرب الذي حصلت عليه هو استخدام hg.py عند البناء من المصدر. على الأقل لا يعطيني أخطاء ، ويقوم بالفعل بإنشاء ٪ userprofile ٪/wincrypto_pass.cfg عندما أدخل بيانات الاعتماد الخاصة بي. ولكن بناءً على الطلبات اللاحقة ، لا يدخل بيانات الاعتماد تلقائيًا. إنه يدفعني لهم مرة أخرى.

ومن المثير للاهتمام ، السلحفاة هو باستخدام المفاتيح. لا يمكنني الحصول عليها للعمل على سطر الأوامر. أعتقد أن شيئًا ما يحدث مع Win 7 X64 الذي يمنع الزئبق (hg.exe) من رؤية Pythonpath ، لذلك لا يمكن العثور على أي من الوحدات المثبتة.

هل لدى أي شخص امتدادات تعمل في Win 7 X64؟ على وجه التحديد مع التثبيت الثنائي للزئبق (وليس hg.py)؟

تحديثلقد وجدت عملًا مناسبًا الآن. منذ السلحفاة يفعل العمل مع Mercurial_Keyring ، لقد قمت ببساطة بتغيير إعداد المسار الخاص بي لتضمين مجلد السلحفاة ، ولكن ليس C: Mercurial. الآن عندما أكتب "HG" في سطر الأوامر ، فإنه يستخدم hg.exe في مجلد السلحفاة ، والذي يعمل بشكل جيد. نفس الشيء ، لا يزال هذا يمثل مشكلة في امتدادات الزئبق على Win 7 X64. الإجابات مرحبًا.

هل كانت مفيدة؟

المحلول

الإجابة على سؤالي الخاص مع التحديث السابق ، لأنه لا يوجد محتجز آخر حتى الآن.

حلول مناسب: منذ السلحفاة يفعل العمل مع mercurial_keyring ، لقد غيرت طريقي ببساطة تضمن مجلد السلحفاة ، و استبعاد C: Mercurial. الآن عندما أكتب "HG" في سطر الأوامر ، فإنه يستخدم hg.exe في مجلد السلحفاة ، والذي يعمل بشكل جيد مع المفاتيح.

نصائح أخرى

أنا استخدم:

  • على Windows Server 2008 SP2 X86:
    • بيثون 2.6.5 x86
    • Mercurial 1.5.1 x86
    • السلحفاة 1.0.1 x86
  • على Windows Server 2008 R2:
    • بيثون 2.6.5 x86
    • Mercurial 1.5.1 x86
    • السلحفاة 1.0.1 x64

في كلا الإعدادات ، يتم تحميل جميع الامتدادات التي تم تكوينها دون أخطاء.

يتم تثبيت جميع الأدوات باستخدام المثبتات المتوفرة على مواقعها. يظهر الزئبق قبل السلحفاة في الطريق. أنا أستخدم ملف تكوين مشترك ~/.hgrc لكلا الأداة ، و Mercurial.ini ملف في مجلد تثبيت السلحفاة الذي يتم تحميله فقط mercurial_keyring تمديد.

في سطر الأوامر ، يجب أن أدخل كلمة المرور في كل مرة تكون هناك حاجة إليها ، ولكن في السلحفاة ، تعمل امتدادات المفاتيح بشكل كامل.

من امتداد المفاتيح صفحة على الويكي الزئبقي:

إذا كنت على Windows ، نوصيك باستخدام TortoiseHg. يشحن THG مع خلفية مفاتيح Windows المحددة ، والتي بدونها لا يمكن أن يعمل امتداد mercurial-keyyring بشكل صحيح على Windows.

تحديث http://asimilatorul.com/adapter/post/using-mercurial_keyring-extense-with-mercurial-on-windows/

يمكنك نسخ الملفات المطلوبة من السلحفاة المكتبة في الزئبق المكتبة:

  • hgext mercurial_keyring.pyo
  • keyring__init __. pyo
  • keyring backend.pyo
  • keyring core.pyo
  • win32_crypto.pyd

صفحة التمديد ينص على أن السلحفاة لديها بعض المكونات الإضافية لجعلها تعمل على Windows وأنها لا تعمل بشكل صحيح بدونها. يبدو أن الحل البديل في الرجوع إلى إصدار السلحفاة هو أسهل طريقة لجعلها تعمل على Windows.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top