Certbot: erreur zope.interface

Créé le 19 avr. 2016  ·  33Commentaires  ·  Source: certbot/certbot

Traceback (appel le plus récent en dernier) :
Fichier "./letsencrypt", ligne 7, dans
à partir de letsencrypt.main importation principale
Fichier "/root/.local/share/letsencrypt/local/lib/python2.7/dist-packages/letsencrypt/main.py", ligne 11, dans
importer zope.component
Fichier "/root/.local/share/letsencrypt/local/lib/python2.7/dist-packages/zope/component/ init .py", ligne 16, dans
à partir de l'interface d'importation zope.interface
ImportError : aucun module nommé interface

certbot-auto duplicate more-info

Commentaire le plus utile

Pour toute personne ayant encore des problèmes avec AWS ami, vous pouvez utiliser les commandes suivantes :

Pour créer de nouveaux certificats :
unset PYTHON_INSTALL_LAYOUT; rm -rf /root/.local/share/letsencrypt/; /root/certbot-auto --debug;

Pour renouveler vos certificats.

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

Tous les 33 commentaires

Quelle est la sortie de /root/.local/share/letsencrypt/bin/pip freeze | grep -i interface ?

/root/.local/share/letsencrypt/bin/pipfreeze | grep -i interface
Vous utilisez pip version 8.0.3, cependant la version 8.1.1 est disponible.
Vous devriez envisager de mettre à niveau via la commande 'pip install --upgrade pip'.

/root/.local/share/letsencrypt/bin/pip list
acmé (0.5.0)
ConfigArgParse (0.10.0)
configobj (5.0.6)
enum34 (1.1.2)
fonctions (0.4)
idna (2.0)
adresse i (1.0.16)
permet de chiffrer (0.5.0)
letsencrypt-apache (0.5.0)
linecache2 (1.0.0)
se moquer (1.0.1)
ndg-httpsclient (0.4.0)
ordonnédict (1.1)
parsedatetime (2.1)
pb (1.8.1)
pépin (8.0.3)
pyasn1 (0.1.9)
analyseur pyc (2.14)
pyOpenSSL (0.15.1)
pyRFC3339 (1.0)
python-augeas (0.5.0)
python2-pythondialogue (3.3.0)
pytz (2015.7)
demandes (2.9.1)
outils de configuration (20.2.2)
six (1.10.0)
traceback2 (1.4.0)
unittest2 (1.1.0)
roue (0.29.0)
zope.composant (4.2.2)
zope.événement (4.1.0)
Vous utilisez pip version 8.0.3, cependant la version 8.1.1 est disponible.
Vous devriez envisager de mettre à niveau via la commande 'pip install --upgrade pip'.

Il semble que zope.interface n'ait pas été installé. Cela est étrange.

Je recommande:

  1. Exécution de rm -rf /root/.local/share/letsencrypt . Cela supprime votre installation de letsencrypt , mais conserve tous les fichiers de configuration, certificats, journaux, etc.
  2. Assurez-vous d'avoir une copie à jour de letsencrypt-auto . Il peut être trouvé ici .
  3. Exécutez à nouveau letsencrypt-auto .

Si vous obtenez le même comportement, vous pouvez essayer d'installer zope.interface manuellement en exécutant :

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

[root@letsencrypt]# ./letsencrypt-auto --help --debug
Recherche d'une nouvelle version...
Création d'un environnement virtuel...
Installation des packages Python...
L'installation a réussi.
Demande des privilèges root pour exécuter Letsencrypt...
/root/.local/share/letsencrypt/bin/letsencrypt --help --debug
Traceback (appel le plus récent en dernier) :
Fichier "/root/.local/share/letsencrypt/bin/letsencrypt", ligne 7, dans
à partir de letsencrypt.main importation principale
Fichier "/root/.local/share/letsencrypt/local/lib/python2.7/dist-packages/letsencrypt/main.py", ligne 11, dans
importer zope.component
Fichier "/root/.local/share/letsencrypt/local/lib/python2.7/dist-packages/zope/component/ init .py", ligne 16, dans
à partir de l'interface d'importation zope.interface
ImportError : aucun module nommé interface
[root@letsencrypt]# /root/.local/share/letsencrypt/bin/pip install zope.interface
Collecte de zope.interface
Exigence déjà satisfaite (utilisez --upgrade pour mettre à niveau) : setuptools dans /root/.local/share/letsencrypt/lib/python2.7/dist-packages (depuis zope.interface)
Installation des packages collectés : zope.interface
zope.interface installé avec succès
Vous utilisez pip version 8.0.3, cependant la version 8.1.1 est disponible.
Vous devriez envisager de mettre à niveau via la commande 'pip install --upgrade pip'.

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

J'avais déjà été ces alternatives. sans succès

Et après avoir fait /root/.local/share/letsencrypt/bin/pip install zope.interface , letsencrypt-auto génère toujours des erreurs avec ImportError: No module named interface ?

Oui. ne fonctionne toujours pas.

On dirait dupe du #2823. Certains problèmes connus avec les AMI n'ont pas encore été résolus. Certaines personnes ont eu du succès avec ce commentaire .

merde :P

Je ne trouve pas ce post. Mais, ça marche.

# pip install pip --upgrade
# pip install virtualenv --upgrade
# virtualenv -p /usr/bin/python27 venv27
# . venv27/bin/activer
# git clone https://github.com/letsencrypt/letsencrypt
# cd permet de chiffrer
# ./letsencrypt-auto certonly --debug --standalone -d

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

Merci.

Super! Je suis content que ça marche.

Pour moi, cette cmd a résolu le problème :
sudo unset PYTHON_INSTALL_LAYOUT

@ rmed19 qui a fonctionné pour moi aussi, merci !

pip install --upgrade pip
et
pip install virtualenv --upgrade
alors
./certbot-auto renew
a travaillé

Je devais juste mettre à jour des choses comme l' a souligné

Aucun de ce qui précède ne fonctionne pour moi…

$ 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

Je rencontre ce même problème :

[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]# 

Même problème sur 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 ...
Je pense que c'est un problème avec 0.11.1 mais je ne sais pas encore pourquoi.

Aucune des solutions ne fonctionne jusqu'à présent pour que je renouvelle mon certificat. Cependant, l'utilisation d'une solution Docker a fonctionné à merveille. Environ 15 secondes de temps d'arrêt. Merci à l'utilisateur Dockerhub gzm55

Installez docker, puis :
pull gzm55/certbot

Arrêtez temporairement votre serveur pour libérer le port 443 (apache stop ou pm2, etc), puis exécutez ceci (changez "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 "$@"

Ensuite, démarrez votre serveur de sauvegarde.

J'ai pu contourner mon problème en recommençant le processus d'installation et de renouvellement de certbot en suivant les instructions actuelles sur le site Web depuis le début. Je pense que le problème est survenu quelque part après les mises à jour des outils sous-jacents et depuis si longtemps depuis l'installation initiale.

J'ai ce problème maintenant. J'ai supprimé et réinstalléletsencrypt et certbot, mais je reçois toujours le message...

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

J'ai essayé... pip install zope.interface le seul effet est d'accélérer le signalement de l'erreur ci-dessus.

Tout conseil est très apprécié, mon certificat expire dans 24 heures.

J'ai rencontré le même problème sur Amazon Linux aujourd'hui. L'exécution de certbot-auto avec sudo l'a corrigé pour moi.

Je fonctionne en tant que root sur Amazon Linux. C'est un renouveau ; L'installation du certificat d'origine s'est bien déroulée sur cette même machine. Je ne sais pas ce qui aurait changé.

J'ai essayé les étapes ci-dessus de mise à jour de pip et virtualenv... pas de chance. :-( Le certificat expire dans 9 jours.

J'ai eu beaucoup de tracas, mais j'ai trouvé ce qui suit mieux que la CLI pour mes besoins.

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

Cette séquence de commandes semble avoir résolu le problème sur mon instance AWS :

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

Certains des packages installés peuvent être redondants.

J'ai aussi exécuté :

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

mais il semble n'avoir eu aucun effet.

L'essentiel suivant a fonctionné pour moi:

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

Par exemple, j'ai dû "mettre à niveau" certbot après avoir installé zope.interface , même si j'avais déjà installé certbot auparavant.

Pour toute personne ayant encore des problèmes avec AWS ami, vous pouvez utiliser les commandes suivantes :

Pour créer de nouveaux certificats :
unset PYTHON_INSTALL_LAYOUT; rm -rf /root/.local/share/letsencrypt/; /root/certbot-auto --debug;

Pour renouveler vos certificats.

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

Une partie du problème pour moi était liée à un comportement par défaut étrange autour des packages 64 bits.

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

En fait résolu le problème

Juste pour ajouter de la couleur à la solution publiée par @lifeofguenter - la solution pour moi sur AWS Linux lorsque mon script de mise à jour échoue semble être différente à chaque fois ! Cette fois, connecté en tant que root sudo su - et diverses mises à jour n'ont pas fonctionné. Obtention constante de zope.interface non défini.

La dernière solution essayée, qui a fonctionné, était :

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

Pas de sudo-ing (utilisation en tant que root)

Mais alors ./certbot-auto --debug renew nouveau échoué avec le message d'interface no zope. J'ai ensuite essayé sudo ./certbot-auto --debug renew et cela a fonctionné . On ne sait pas pourquoi, ça n'aurait pas dû en quelque sorte. Cela n'avait pas fonctionné avant !

À un moment donné, j'ai vu une référence à pip v 6.1.6 apparaître, donc c'est quelque part, mais j'ai supprimé et réinstallé tous les éléments pertinents. AWS + root / sudo /letsencrypt stocke peut-être une dépendance quelque part le long de la chaîne qui n'est pas mise à jour lors de la mise à jour de pip ?

merci @ilamp ! a fonctionné comme un charme

J'utilise AWS Linux et j'ai eu le même problème : "Aucun module nommé erreur d'interface". J'ai fait ce que @ilamp a proposé, mais cela n'a pas fonctionné. Après avoir fait ce qui suit, le problème a été résolu :

$ rm -rf /opt/eff.org

Une autre mise à jour, étant donné que les emplacements d'installation sont différents, mon problème concernait à nouveau l'emplacement d'installation des packages 64 bits sur AWS par PIP. Cela a été corrigé en installant une fois, puis en exécutant

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

L'emplacement peut devoir changer à mesure que l'emplacement des fichiers d'installation se déplace avec les mises à jour, mais le correctif général est resté le même.

C'était sur une instance AWS AMI.

Je pense donc avoir compris quel est le problème : tout ce qui a une source ou des en-têtes C est construit en 64 bits et placé dans /lib64 dist-packages, tout ce qui ne se trouve pas dans /lib. Cela signifie cffi, cryptographie et zope.interface, et ils doivent être reconstruits en 32 bits pour fonctionner, ou bien exécutés en 64 bits comme le fait la méthode de Namingwaysway (puisqu'elle copie entièrement Python 64 bits).

Je faisais régulièrement le renouvellement certbot-auto sur un ami amazon.
Un jour, il a cessé de fonctionner avec cette erreur.
Tout ce que j'avais à faire c'est :

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

Cela semble toujours être un problème lors du renouvellement - même avec

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

et/ou

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

Comme je n'ai que 24 heures pour renouveler ce certificat, je pense que je vais simplement installer manuellement le certificat à l'aide d'une autorité de certification de confiance, car cela semble être un processus plus fluide pour les instances AMI, il serait cependant bon que cela fonctionne correctement.

EDIT: juste comme une dernière tentative après avoir posté ceci, j'ai essayé

$ rm -rf /opt/eff.org

D'après le commentaire de 0xnm, cela a semblé fonctionner ! Merci

Cette page vous a été utile?
0 / 5 - 0 notes