||/ Name Version Architecture Description
++±==============================================-============================-============================-==================================================================================================
ii certbot 0.21.1-1+ubuntu16.04.1+certb all automatically configure HTTPS using Let’s Encrypt
un python-certbot-apache (no description available)
un python-certbot-doc (no description available)
ii python-certbot-nginx 0.25.0-2+ubuntu16.04.1+certb all transitional dummy package
un python-certbot-nginx-doc (no description available)
ii python3-certbot 0.21.1-1+ubuntu16.04.1+certb all main library for certbot
un python3-certbot-apache (no description available)
ii python3-certbot-nginx 0.21.1-1+ubuntu16.04.1+certb all Nginx plugin for Certbot
When checking if “/usr/bin/certbot” exists, it’s not there however “ls -la /usr/bin/letsencrypt” shows a symbolic link to certbot (/usr/bin/letsencrypt -> certbot).
For one thing, it’s weird that Certbot is two different old versions. The current version in the PPA is 0.26.1.
For another thing, it’s weird that /usr/bin/certbot is missing. It’s (in the current version, and probably in 0.21.1) part of the certbot package, which you have installed.
Do you have any idea what’s happened to your system?
What happens of you run sudo apt update and sudo apt full-upgrade?
So I did upgrade of Certbot (apt-get upgrade certbot). When I run ‘certbot renew --dry-run’ in root user it outputs the following:
Traceback (most recent call last):
File “/usr/bin/certbot”, line 11, in
load_entry_point(‘certbot==0.26.1’, ‘console_scripts’, ‘certbot’)()
File “/usr/local/lib/python3.5/dist-packages/pkg_resources/init.py”, line 484, 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 2707, in load_entry_point
return ep.load()
File “/usr/local/lib/python3.5/dist-packages/pkg_resources/init.py”, line 2325, in load
return self.resolve()
File “/usr/local/lib/python3.5/dist-packages/pkg_resources/init.py”, line 2331, in resolve
module = import(self.module_name, fromlist=[‘name’], level=0)
File “/usr/lib/python3/dist-packages/certbot/main.py”, line 9, in
import configobj
ImportError: No module named ‘configobj’
I somethings up with the current version of Python and Certbot newer version since upgrade.
Python version = Python 2.7.12
Extract from checking Certbot version:
||/ Name Version Architecture Description
++±==============================================-============================-============================-==================================================================================================
ii certbot 0.26.1-1+ubuntu16.04.1+certb all automatically configure HTTPS using Let’s Encrypt
ii python-certbot-nginx 0.25.0-2+ubuntu16.04.1+certb all transitional dummy package
ii python3-certbot 0.26.1-1+ubuntu16.04.1+certb all main library for certbot
ii python3-certbot-nginx 0.25.0-2+ubuntu16.04.1+certb all Nginx plugin for Certbot
||/ Name Version Architecture Description
++±==============================================-============================-============================-==================================================================================================
ii python3-configobj 5.0.6-2+ubuntu16.04.1+certbo all simple but powerful config file reader and writer for Python 3
I have managed to get this working again. However I cannot still explain where it went all wrong.
The steps I took (for interest sake) was: Removing ‘python3-configobj’ and ‘python-certbot-nginx’ then reinstalling ‘python-certbot-nginx’ and ‘python3 -m pip install pyOpenSSL --upgrade’ .