New Certbot Install - An unexpected error occurred

Hello,

I just installed certbot on a fresh install of CentOS7 with Virualmin installed. I used the following command to install certbot.

sudo yum install certbot python2-certbot-apache python2-certbot-dns-route53

Install completes without issue, but when trying to run certbot I receive the error below.

An unexpected error occurred:
DistributionNotFound: futures>=2.2.0,<4.0.0
Please see the logfile '/tmp/tmptPyaVt/log' for more details.

/tmp/tmptPyaVt/log contains:

2020-08-11 12:23:51,882:DEBUG:certbot._internal.log:Exiting abnormally:
Traceback (most recent call last):
File "/usr/bin/certbot", line 9, in
load_entry_point('certbot==1.6.0', 'console_scripts', 'certbot')()
File "/usr/lib/python2.7/site-packages/certbot/main.py", line 15, in main
return internal_main.main(cli_args)
File "/usr/lib/python2.7/site-packages/certbot/_internal/main.py", line 1323, in main
plugins = plugins_disco.PluginsRegistry.find_all()
File "/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.py", line 215, in find_all
plugin_ep = PluginEntryPoint(entry_point)
File "/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.py", line 56, in init
self.plugin_cls = entry_point.load()
File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2259, in load
if require: self.require(env, installer)
File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2272, in require
working_set.resolve(self.dist.requires(self.extras),env,installer)))
File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 626, in resolve
raise DistributionNotFound(req)
DistributionNotFound: futures>=2.2.0,<4.0.0
2020-08-11 12:23:51,882:ERROR:certbot._internal.log:An unexpected error occurred:
2020-08-11 12:23:51,883:ERROR:certbot._internal.log:DistributionNotFound: futures>=2.2.0,<4.0.0

I've spent hours researching this and can't find a solution. Any suggestions would be appreciated.

Ryan

Is python2-futures installed?

Not entirely sure why certbot would require futures though. According to the source code for certbot on github, the Python package futures is only mentioned in tools/dev_constraints.txt and not in one of the regular Python package requirements?

Thank you. I am not a python expert and didn’t realize that it was asking for another package to be installed.

I tried several different installs and it appears to only be an issue when installing python2-certbot-apache. Perhaps it is a requirement for that plugin.

Ryan

Maybe it's a requirement for a dependency of the plugin? Because the grep -Ri futures I ran on my local certbot code also includes the code for the Apache plugin. Maybe @bmw can give us some insight?

This seems to be a known problem in the python-s3transfer package in EPEL 7 which we transitively depend on in the route53 plugin. The issue about this which I just bumped is https://bugzilla.redhat.com/show_bug.cgi?id=1834529.

1 Like

Good to know, thanks! I’ll try to remember so I won’t have to tag someone next time this error pops up :stuck_out_tongue:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.