How to fix certbot error : acme==0.5.0


Symptom

certbot renew -> An unexpected error ocurred: `Requirement.parse('acme==0.5.0'))

# certbot renew
An unexpected error occurred:
VersionConflict: (acme 0.27.1 (/usr/lib/python2.7/site-packages), Requirement.parse('acme==0.5.0'))

2018-11-30 13:27:23,575:DEBUG:certbot.log:Exiting abnormally:
Traceback (most recent call last):
  File "/usr/bin/certbot", line 9, in <module>
    load_entry_point('certbot==0.27.1', 'console_scripts', 'certbot')()
  File "/usr/lib/python2.7/site-packages/certbot/main.py", line 1338, in main
    plugins = plugins_disco.PluginsRegistry.find_all()
  File "/usr/lib/python2.7/site-packages/certbot/plugins/disco.py", line 206, in find_all
    plugin_ep = PluginEntryPoint(entry_point)
  File "/usr/lib/python2.7/site-packages/certbot/plugins/disco.py", line 52, in __init__
    self.plugin_cls = entry_point.load()
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2345, in load
    self.require(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2368, in require
    items = working_set.resolve(reqs, env, installer, extras=self.extras)
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 789, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
VersionConflict: (acme 0.27.1 (/usr/lib/python2.7/site-packages), Requirement.parse('acme==0.5.0'))
2018-11-30 13:27:23,575:ERROR:certbot.log:An unexpected error occurred:

How to fix

  • pip uninstall letsencrypt - remove old letsencrypt package
# pip uninstall letsencrypt
Uninstalling letsencrypt-0.5.0:
  Would remove:
    /usr/bin/letsencrypt
    /usr/lib/python2.7/site-packages/letsencrypt-0.5.0.dist-info/*
    /usr/lib/python2.7/site-packages/letsencrypt/*
Proceed (y/n)? y
  Successfully uninstalled letsencrypt-0.5.0
  • certbot renew
certbot renew
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/xxx.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cert not yet due for renewal

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

The following certs are not due for renewal yet:
  /etc/letsencrypt/live/xxx/fullchain.pem expires on 2019-01-23 (skipped)
No renewals were attempted.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

OK