Upgrading certbot-auto 0.17.0 to 0.19.0...
Replacing certbot-auto...
Creating virtual environment...
Installing Python packages...
Installation succeeded.
Traceback (most recent call last):
File "/opt/eff.org/certbot/venv/bin/letsencrypt", line 7, in <module>
from certbot.main import main
File "/opt/eff.org/certbot/venv/local/lib/python2.7/dist-packages/certbot/main.py", line 9, in <module>
import zope.component
File "/opt/eff.org/certbot/venv/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 tried the following command: /root/.local/share/letsencrypt/bin/pip list
…and noted that zope.interface does not appear to be installed. I then ran the following command: sudo /root/.local/share/letsencrypt/bin/pip install zope.interface which says it installed successfully.
I then restarted httpd services and tried renewing the certificate again but this time got this error: Error: couldn't get currently installed version for /opt/eff.org/certbot/venv/bin/letsencrypt: Traceback (most recent call last): File "/opt/eff.org/certbot/venv/bin/letsencrypt", line 7, in <module> from certbot.main import main File "/opt/eff.org/certbot/venv/local/lib/python2.7/dist-packages/certbot/main.py", line 11, in <module> from acme import jose File "/opt/eff.org/certbot/venv/local/lib/python2.7/dist-packages/acme/jose/__init__.py", line 37, in <module> from acme.jose.interfaces import JSONDeSerializable File "/opt/eff.org/certbot/venv/local/lib/python2.7/dist-packages/acme/jose/interfaces.py", line 9, in <module> from acme.jose import util File "/opt/eff.org/certbot/venv/local/lib/python2.7/dist-packages/acme/jose/util.py", line 4, in <module> from cryptography.hazmat.primitives.asymmetric import rsa ImportError: No module named cryptography.hazmat.primitives.asymmetric
I also tried sudo ./letsencrypt-auto --help but received the same error.
Should be something letsencrypt-auto (does this install the same client as certbot-auto? letsencrypt is a VERY old name for certbot…) should do on its own I’d say…
Note: the --renew-by-default part will get you in trouble if you run the client too often, as it will always get a new certificate. It’s adviced to remove such an option and put a cd /path/to/letsencrypt/; ./letsencrypt-auto renew in a daily cronjob.
Thanks Osiris. I only run that command when the certs about to expire. I time the update alongside a three monthly cycle of server updates. I’m assuming used in this context that would be fine?