Certbot: zope.interface خطأ

تم إنشاؤها على ١٩ أبريل ٢٠١٦  ·  33تعليقات  ·  مصدر: certbot/certbot

Traceback (آخر مكالمة أخيرة):
ملف "./letsencrypt" ، السطر 7 ، بتنسيق
من Letsencrypt.main الاستيراد الرئيسي
ملف "/root/.local/share/letsencrypt/local/lib/python2.7/dist-packages/letsencrypt/main.py" ، السطر 11 ، في
استيراد zope.component
ملف "/root/.local/share/letsencrypt/local/lib/python2.7/dist-packages/zope/component/ init .py" ، السطر 16 ، في
من zope.interface استيراد واجهة
ImportError: لا توجد وحدة نمطية المسماة الواجهة

certbot-auto duplicate more-info

التعليق الأكثر فائدة

لأي شخص لا يزال يواجه مشكلات مع AWS ami ، يمكنك استخدام الأوامر التالية:

لإنشاء شهادات جديدة:
unset PYTHON_INSTALL_LAYOUT; rm -rf /root/.local/share/letsencrypt/; /root/certbot-auto --debug;

لتجديد شهاداتك.

unset PYTHON_INSTALL_LAYOUT; rm -rf /root/.local/share/letsencrypt/; /root/certbot-auto --debug renew;

ال 33 كومينتر

ما هو ناتج /root/.local/share/letsencrypt/bin/pip freeze | grep -i interface ؟

/root/.local/share/letsencrypt/bin/pip freeze | واجهة grep -i
أنت تستخدم إصدار Pip 8.0.3 ، ولكن الإصدار 8.1.1 متاح.
يجب أن تفكر في الترقية عبر الأمر "pip install --upgrade pip".

/root/.local/share/letsencrypt/bin/pip list
acme (0.5.0)
ConfigArgParse (0.10.0)
configobj (5.0.6)
enum34 (1.1.2)
funcsigs (0.4)
idna (2.0)
ipaddress (1.0.16)
Letsencrypt (0.5.0)
Letsencrypt-apache (0.5.0)
linecache2 (1.0.0)
موك (1.0.1)
ndg-httpsclient (0.4.0)
ordereddict (1.1)
التحليل والوقت (2.1)
pbr (1.8.1)
نقطة (8.0.3)
pyasn1 (0.1.9)
pycparser (2.14)
pyOpenSSL (0.15.1)
pyRFC3339 (1.0)
بيثون أوغياس (0.5.0)
python2-pythondialog (3.3.0)
بيتز (2015.7)
الطلبات (2.9.1)
أدوات الإعداد (20.2.2)
ستة (1.10.0)
traceback2 (1.4.0)
unittest2 (1.1.0)
عجلة (0.29.0)
قسيمة zope.com (4.2.2)
zope.event (4.1.0)
أنت تستخدم إصدار Pip 8.0.3 ، ولكن الإصدار 8.1.1 متاح.
يجب أن تفكر في الترقية عبر الأمر "pip install --upgrade pip".

يبدو أنه لم يتم تثبيت zope.interface . هذا غريب.

أوصي:

  1. تشغيل rm -rf /root/.local/share/letsencrypt . يؤدي هذا إلى إزالة تثبيت letsencrypt ، لكنه يحتفظ بجميع ملفات التكوين والشهادات والسجلات وما إلى ذلك.
  2. تأكد من أن لديك نسخة محدثة من letsencrypt-auto . يمكن العثور عليها هنا .
  3. قم بتشغيل letsencrypt-auto مرة أخرى.

إذا حصلت على نفس السلوك ، يمكنك محاولة تثبيت zope.interface يدويًا عن طريق تشغيل:

/root/.local/share/letsencrypt/bin/pip install zope.interface

[root @ letencrypt] # ./letsencrypt-auto --help --debug
جارٍ البحث عن إصدار جديد ...
إنشاء بيئة افتراضية ...
تثبيت حزم Python ...
نجح التثبيت.
جارٍ طلب امتيازات الجذر لتشغيل Letsencrypt ...
/root/.local/share/letsencrypt/bin/letsencrypt --help --debug
Traceback (آخر مكالمة أخيرة):
ملف "/root/.local/share/letsencrypt/bin/letsencrypt" ، السطر 7 ، في
من Letsencrypt.main الاستيراد الرئيسي
ملف "/root/.local/share/letsencrypt/local/lib/python2.7/dist-packages/letsencrypt/main.py" ، السطر 11 ، في
استيراد zope.component
ملف "/root/.local/share/letsencrypt/local/lib/python2.7/dist-packages/zope/component/ init .py" ، السطر 16 ، في
من zope.interface استيراد واجهة
ImportError: لا توجد وحدة نمطية المسماة الواجهة
[root @ letencrypt] # /root/.local/share/letsencrypt/bin/pip install zope.interface
جمع zope.interface
تم تلبية المتطلبات بالفعل (استخدم - ترقية للترقية): setuptools في /root/.local/share/letsencrypt/lib/python2.7/dist-packages (من zope.interface)
تثبيت الحزم المجمعة: zope.interface
تم تثبيت zope.interface بنجاح
أنت تستخدم إصدار Pip 8.0.3 ، ولكن الإصدار 8.1.1 متاح.
يجب أن تفكر في الترقية عبر الأمر "pip install --upgrade pip".

Linux ip-10-11-180-115 3.14.20-20.44.amzn1.x86_64 # 1 SMP Mon Oct 6 22:52:46 UTC 2014 x86_64 x86_64 x86_64 GNU / Linux

لقد كنت بالفعل هذه البدائل. دون جدوى

وبعد تنفيذ أخطاء /root/.local/share/letsencrypt/bin/pip install zope.interface ، لا تزال أخطاء letsencrypt-auto مع ImportError: No module named interface ؟

نعم فعلا. لا يزال لا يعمل.

يبدو وكأنه خدعة # 2823. هناك بعض المشكلات المعروفة مع AMIs والتي لم يتم حلها بعد. بعض الناس قد نجحوا مع هذا التعليق .

القرف: ص

لا أجد هذا المنصب. ولكنه يعمل.

# تثبيت نقطة نقطة - ترقية
# نقطة تثبيت Virtualenv - ترقية
# virtualenv -p / usr / bin / python27 venv27
#. venv27 / بن / تفعيل
# بوابة استنساخ https://github.com/letsencrypt/letsencrypt
# cd letsencrypt
# ./letsencrypt-auto بشكل مؤكد - تصحيح الأخطاء - Standalone -d

https://github.com/letsencrypt/letsencrypt/issues/1680#issuecomment -170641501

شكرا.

رائعة! أنا سعيد لأنه يعمل.

بالنسبة لي هذا cmd حل المشكلة:
sudo إلغاء ضبط PYTHON_INSTALL_LAYOUT

@ rmed19 التي عملت معي أيضًا ، شكرًا!

pip install --upgrade pip
و
pip install virtualenv --upgrade
من ثم
./certbot-auto renew
عمل فعل

كان علي فقط تحديث الأشياء كما أشارت nohona . السؤال هو ، هل هناك على أي حال لمنع هذا من الحدوث؟ لقد نجحت لفترة من الوقت على هذا الخادم حتى اليوم ، مما تطلب مني تشغيل أوامر التحديث هذه.

لا يناسبني أي مما سبق ...

$ pip install --upgrade pip
Requirement already up-to-date: pip in /usr/local/lib/python2.7/site-packages
$ pip install virtualenv --upgrade
Requirement already up-to-date: virtualenv in ./.local/lib/python2.7/site-packages
$ cd letsencrypt/
$ ./certbot-auto renew
Error: couldn't get currently installed version for /home/ec2-user/.local/share/letsencrypt/bin/letsencrypt:
Traceback (most recent call last):
  File "/home/ec2-user/.local/share/letsencrypt/bin/letsencrypt", line 7, in <module>
    from certbot.main import main
  File "/home/ec2-user/.local/share/letsencrypt/local/lib/python2.7/dist-packages/certbot/main.py", line 11, in <module>
    import zope.component
  File "/home/ec2-user/.local/share/letsencrypt/local/lib/python2.7/dist-packages/zope/component/__init__.py", line 16, in <module>
    from zope.interface import Interface
ImportError: No module named interface

أواجه نفس المشكلة:

[root<strong i="6">@www</strong> ec2-user]# /root/.local/share/letsencrypt/bin/pip -V
pip 9.0.1 from /root/.local/share/letsencrypt/local/lib/python2.7/dist-packages (python 2.7)
[root<strong i="7">@www</strong> ec2-user]# pip -V
pip 9.0.1 from /usr/local/lib/python2.7/site-packages (python 2.7)
[root<strong i="8">@www</strong> ec2-user]# /root/.local/share/letsencrypt/bin/pip install virtualenv --upgrade
Collecting virtualenv
  Using cached virtualenv-15.1.0-py2.py3-none-any.whl
Installing collected packages: virtualenv
Successfully installed virtualenv-15.1.0
[root<strong i="9">@www</strong> ec2-user]# /root/.local/share/letsencrypt/bin/pip install zope.interface
Collecting zope.interface
Requirement already satisfied: setuptools in /root/.local/share/letsencrypt/lib/python2.7/dist-packages (from zope.interface)
Installing collected packages: zope.interface
Successfully installed zope.interface-4.3.3
[root<strong i="10">@www</strong> ec2-user]# pip install virtualenv --upgrade
Requirement already up-to-date: virtualenv in /usr/local/lib/python2.7/site-packages
[root<strong i="11">@www</strong> ec2-user]# /home/ec2-user/certbot-auto renew --debug
Error: couldn't get currently installed version for /root/.local/share/letsencrypt/bin/letsencrypt: 
Traceback (most recent call last):
  File "/root/.local/share/letsencrypt/bin/letsencrypt", line 7, in <module>
    from certbot.main import main
  File "/root/.local/share/letsencrypt/local/lib/python2.7/dist-packages/certbot/main.py", line 11, in <module>
    import zope.component
  File "/root/.local/share/letsencrypt/local/lib/python2.7/dist-packages/zope/component/__init__.py", line 16, in <module>
    from zope.interface import Interface
ImportError: No module named interface
[root<strong i="12">@www</strong> ec2-user]# 

نفس المشكلة في Digital Ocean:
./certbot-auto renew Error: couldn't get currently installed version for /root/.local/share/letsencrypt/bin/letsencrypt: Traceback (most recent call last): File "/root/.local/share/letsencrypt/bin/letsencrypt", line 7, in <module> from certbot.main import main ...
أعتقد أنها مشكلة في 0.11.1 ولكني لست متأكدًا من السبب بعد.

لا يعمل أي من الحلول حتى الآن بالنسبة لي لتجديد شهادتي. ومع ذلك ، فإن استخدام حل Docker يعمل مثل السحر. حوالي 15 ثانية من التوقف. شكرا مستخدم Dockerhub gzm55

قم بتثبيت Docker ، ثم:
pull gzm55/certbot

قم بإيقاف الخادم مؤقتًا لتحرير المنفذ 443 (apache stop أو pm2 stop وما إلى ذلك) ، ثم شغّل هذا (غيّر "YOUR_DOMAIN.COM"):
docker run -it --rm --net host -v /etc/letsencrypt:/etc/letsencrypt -v /var/lib/letsencrypt:/var/lib/letsencrypt gzm55/certbot certonly --standalone --text -d YOUR_DOMAIN.COM "$@"

ثم ابدأ خادمك احتياطيًا.

تمكنت من حل مشكلتي من خلال البدء من جديد في عملية تثبيت وتجديد certbot باتباع الإرشادات الحالية على موقع الويب من البداية. أعتقد أن المشكلة نشأت في مكان ما بعد التحديثات التي تم إجراؤها على الأدوات الأساسية ولأنها كانت منذ وقت طويل منذ التثبيت في البداية.

أواجه هذه المشكلة الآن. لقد قمت بإزالة وإعادة تثبيت Letsencrypt & certbot ولكنني أتلقى الرسالة باستمرار ...

Traceback (most recent call last): File "/root/.local/share/letsencrypt/bin/letsencrypt", line 7, in <module> from certbot.main import main File "/root/.local/share/letsencrypt/local/lib/python2.7/dist-packages/certbot/main.py", line 11, in <module> import zope.component File "/root/.local/share/letsencrypt/local/lib/python2.7/dist-packages/zope/component/__init__.py", line 16, in <module> from zope.interface import Interface ImportError: No module named interface

لقد حاولت .... pip install zope.interface والتأثير الوحيد لذلك هو تسريع الإبلاغ عن الخطأ أعلاه.

أي نصيحة أقدرها كثيرًا ، تنتهي صلاحية سيرتي في غضون 24 ساعة.

واجهت نفس المشكلة على Amazon Linux اليوم. تنفيذ certbot-auto مع sudo قد أصلحه لي.

أنا أعمل كجذر على Amazon Linux. هذا تجديد. كان تثبيت الشهادة الأصلي جيدًا على هذا الجهاز نفسه. لست متأكدًا مما كان سيتغير.

لقد جربت الخطوات المذكورة أعلاه لتحديث pip و virtualenv ... لا حظ. :-( تنتهي صلاحية الشهادة في 9 أيام.

واجهت الكثير من المتاعب ، لكنني وجدت ما يلي أفضل من CLI لأغراضي.

https://github.com/Daplie/node-greenlock

يبدو أن تسلسل الأوامر هذا قد أصلح المشكلة في مثيل AWS الخاص بي:

sudo yum install python-virtualenv python27-virtualenv "python*zope*"
rm -rf ~/.local/share/letsencrypt
./certbot-auto --debug renew

قد تكون بعض الحزم المثبتة زائدة عن الحاجة.

أنا أيضا أعدم:

~/.local/share/letsencrypt/bin/pip install pip --upgrade
~/.local/share/letsencrypt/bin/pip install virtualenv --upgrade

ولكن يبدو أنه لم يكن لها أي تأثير.

لقد عملت الجوهر التالي بالنسبة لي:

$ sudo -H pip install zope.interface -U
$ sudo -H pip install certbot -U

على سبيل المثال ، كان علي "ترقية" certbot بعد تثبيت zope.interface ، على الرغم من أنني قمت بالفعل بتثبيت certbot سابقًا.

لأي شخص لا يزال يواجه مشكلات مع AWS ami ، يمكنك استخدام الأوامر التالية:

لإنشاء شهادات جديدة:
unset PYTHON_INSTALL_LAYOUT; rm -rf /root/.local/share/letsencrypt/; /root/certbot-auto --debug;

لتجديد شهاداتك.

unset PYTHON_INSTALL_LAYOUT; rm -rf /root/.local/share/letsencrypt/; /root/certbot-auto --debug renew;

يتعلق جزء من المشكلة بالنسبة لي ببعض السلوك الافتراضي الغريب حول حزم 64 بت.

cd /root/.local/share/letsencrypt
\cp -r ./venv/lib64/* ./venv/lib/

في الواقع أصلحت المشكلة

فقط لإضافة بعض الألوان إلى الحل الذي تم نشره lifeofguenter - يبدو الحل بالنسبة لي على AWS linux عندما يفشل برنامج التحديث الخاص بي مختلفًا في كل مرة! هذه المرة ، تم تسجيل الدخول بحساب الجذر sudo su - ولم تنجح مجموعة متنوعة من التحديثات. لم يتم تعيين واجهة zope.inter باستمرار.

كان الحل الأخير الذي تم تجربته ، والذي نجح ، هو:

$ pip install zope.interface -U
$ pip install certbot -U

لا sudo-ing (باستخدام كجذر)

ولكن بعد ذلك فشل ./certbot-auto --debug renew مرة أخرى مع ظهور رسالة no zope interface. ثم حاولت بعد ذلك sudo ./certbot-auto --debug renew وقد نجح هذا الأمر. ليس من الواضح لماذا ، لا ينبغي أن يكون نوعًا ما. لم تنجح من قبل!

في مرحلة ما ، رأيت إشارة إلى pip v 6.1.6 تظهر ، لذا فهي موجودة في مكان ما ، لكنني أزلت وأعدت تثبيت جميع العناصر ذات الصلة. ربما تقوم AWS + root / sudo / letencrypt بتخزين تبعية في مكان ما على طول السلسلة والتي لا يتم تحديثها عند تحديث النقطة؟

شكرا لك ilamp ! عملت مثل السحر

أنا أستخدم AWS Linux ولدي نفس المشكلة: "لا توجد وحدة تسمى خطأ في الواجهة". لقد فعلت ما اقترحه ilamp ، لكنه لم ينجح. بعد أن قمت بما يلي ، تم حل المشكلة:

$ rm -rf /opt/eff.org

تحديث آخر ، نظرًا لأن مواقع التثبيت مختلفة ، كانت مشكلتي مرة أخرى حول موقع تثبيت حزم 64 بت على AWS by PIP. تم إصلاح ذلك عن طريق التثبيت مرة واحدة ثم التشغيل

\cp -r /opt/eff.org/certbot/venv/lib64/* /opt/eff.org/certbot/venv/lib/

قد يحتاج الموقع إلى التغيير حيث ينتقل موقع ملفات التثبيت مع التحديثات ، لكن الإصلاح العام ظل كما هو.

كان هذا في مثيل AWS AMI.

لذلك أعتقد أنني اكتشفت ما هي المشكلة: أي شيء يحتوي على مصدر C أو رؤوس يتم إنشاؤه 64 بت ووضعه في حزم / lib64 dist-pack ، أي شيء لا يصل إلى / lib. وهذا يعني cffi ، والتشفير ، و zope.interface ، ويجب إعادة بنائها على أنها 32 بت لتعمل ، أو تشغيلها كـ 64 بت كما تفعل طريقة Namingwaysway (لأنها تنسخ أكثر من 64 بت Python بالكامل).

كنت أقوم بانتظام بتجديد certbot-auto على أمازون أمي.
ذات يوم توقف عن العمل مع هذا الخطأ.
كل ما كان علي فعله هو:

rm -rf ~/.local/share/letsencrypt
 sudo ./certbot-auto renew --debug

لا يزال يبدو أنه يمثل مشكلة عند التجديد - حتى مع

rm -rf ~/.local/share/letsencrypt
 sudo ./certbot-auto renew --debug

و / أو

unset PYTHON_INSTALL_LAYOUT; rm -rf /root/.local/share/letsencrypt/; /root/certbot-auto --debug renew;

نظرًا لأن لديّ 24 ساعة فقط لتجديد هذه الشهادة ، أعتقد أنني سأقوم فقط بتثبيت الشهادة يدويًا باستخدام مرجع مصدق موثوق بدلاً من ذلك حيث يبدو أنها عملية أكثر سلاسة لمثيلات AMI ، سيكون من الجيد الحصول على هذا العمل بسلاسة.

تحرير: فقط كمحاولة أخيرة بعد نشر هذا حاولت

$ rm -rf /opt/eff.org

وفقًا لتعليق 0xnm ، يبدو أن هذا يعمل! شكرا

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات