Traceback (most recent call last):
File “/usr/bin/certbot”, line 11, in
load_entry_point(‘certbot==0.31.0’, ‘console_scripts’, ‘certbot’)()
File “/usr/local/lib/python3.5/dist-packages/pkg_resources/init.py”, line 489, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File “/usr/local/lib/python3.5/dist-packages/pkg_resources/init.py”, line 2793, in load_entry_point
return ep.load()
File “/usr/local/lib/python3.5/dist-packages/pkg_resources/init.py”, line 2411, in load
return self.resolve()
File “/usr/local/lib/python3.5/dist-packages/pkg_resources/init.py”, line 2417, in resolve
module = import(self.module_name, fromlist=[‘name’], level=0)
File “/usr/lib/python3/dist-packages/certbot/main.py”, line 18, in
from certbot import account
File “/usr/lib/python3/dist-packages/certbot/account.py”, line 21, in
from certbot import constants
File “/usr/lib/python3/dist-packages/certbot/constants.py”, line 53, in
tls_sni_01_port=challenges.TLSSNI01Response.PORT,
AttributeError: module ‘acme.challenges’ has no attribute ‘TLSSNI01Response’
My web server is (include version):
nginx/1.10.3
The operating system my web server runs on is (include version):
ubuntu 16.04
I’m confused, to be honest. One explanation for the error could be that you have a very new version of the acme module, but if so, where is it, and how did it get there?
Are all of your packages up-to-date? “apt update” and “apt list --upgradeable” doesn’t show that anything needs to be upgraded?
I’ve been trying to solve exactly the same problem. I was trying to add cerbot-dns-cloudflare to automate a wildcard renewal and am now getting the same error as ali94.
“0.31.0-1+ubuntu16.04.1+certbot+1” is installed but ‘certbot -v’ produces the acme.challenges module error from the original posting.
I’m also using nginx 1.10.3 and ubuntu 16.04.
/usr/bin/certbot output is identical to ali94’s.
acme module is from: <module ‘acme’ from ‘/usr/local/lib/python3.5/dist-packages/acme/init.py’>
I have an existing (letsencrypt) wildcard certificate on the server (which I used to update manually) and a standard certificate which used to auto renew fine. However now I can’t update either manually or automatically.
It sounds like this was initially due to an incorrect update procedure or different versions of certbot being installed but I’ve now tried a lot of possible fixes and removed and reinstalled some packages a few times. At this point i’d also be happy to just remove all traces of certbot and start from scratch but just removing and reinstalling certbot doesn’t solve it.
ii certbot 0.31.0-1+ubuntu1 all automatically configure HTTPS using Let’s Encrypt
ii python-certbot-apache 0.31.0-1+ubuntu1 all transitional dummy package
un python-certbot-apache-d (no description available)
un python-certbot-doc (no description available)
ii python-certbot-nginx 0.31.0-1+ubuntu1 all transitional dummy package
un python-certbot-nginx-do (no description available)
ii python3-certbot 0.31.0-1+ubuntu1 all main library for certbot
ii python3-certbot-apache 0.31.0-1+ubuntu1 all Apache plugin for Certbot
ii python3-certbot-dns-clo 0.23.0-1ubuntu0p all Cloudflare DNS plugin for Certbot
ii python3-certbot-nginx 0.31.0-1+ubuntu1 all Nginx plugin for Certbot
(I installed the certbot-apache package due to a suggestion in another post, I was having the same problem before it was installed.)