14

Today when i tried to renew my certificates using this command I'm facing error

/opt/letsencrypt/letsencrypt-auto renew --config /etc/letsencrypt/config.ini --agree-tos && apachectl graceful

also tried this command

/opt/letsencrypt/letsencrypt-auto renew

Error :

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 12, 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

I did lot of research no solution found.

O-mkar
  • 5,430
  • 8
  • 37
  • 61
  • ? May be *you* can guess, which python-[??] to use. I.e. lots of packages with `interface.py` https://packages.debian.org/search?suite=default&section=all&arch=any&searchon=contents&keywords=interface.py – Knud Larsen Jul 03 '16 at 18:56

5 Answers5

19

After doing lots of research I found it.

You have to unset Python install layout

 unset PYTHON_INSTALL_LAYOUT

then update letsencrypt

 /opt/letsencrypt/letsencrypt-auto -v

for more refer this blog https://o-mkar.com/facing-problem-while-renewing-letsencrypt-certificates-importerror-no-module-named-interface-amazon-linux

O-mkar
  • 5,430
  • 8
  • 37
  • 61
  • 2
    I also have to uninstall zope.interface and reinstall it, along with cryptography. – motilio Feb 22 '17 at 03:06
  • 3
    Another method to try if you are still getting errors after unset the environment variable is to remove the python virtualenv that gets created under your home folder in .local. Once purging that folder the reinstall to newest version went smoothly –  Mar 31 '17 at 02:21
  • But what are the implications of unsetting that environment variable? Should you re-set it? – Andrew Dec 04 '17 at 14:58
4

sudo pip uninstall zope.interface and reinstall zope.interface

sudo pip install zope.interface

baocheng liao
  • 161
  • 1
  • 4
1

I faced the same issue and upgrading pip and virtualenv as instructed in this post worked for me.

sudo pip install --upgrade pip
sudo pip install --upgrade virtualenv
rm -rf ~/.local/share/letsencrypt
/opt/letsencrypt/letsencrypt-auto --debug
Yohan Liyanage
  • 6,840
  • 3
  • 46
  • 63
0

Part of the issue for me was related to some strange default behavior around 64 bit packages installing, but not being picked up by python. After getting this issue [it's mostly installed at this point], run the following [assuming it tries to install in /root/.local/share/letsencrypt/]

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

Then retry the command. The install locations of the python virtual environment change with different versions and operating systems, but the general principle has helped me debug two different installs.

0

This worked for me, else zope and cryptography kept showing the dependency of install into each other leading to a deadlock. See Git Repo

sudo /opt/eff.org/certbot/venv/local/bin/pip install cryptography interface zope
Osama Rizwan
  • 615
  • 1
  • 7
  • 19
Ravi Sethia
  • 85
  • 2
  • 9