Updating letsencrypt and virtual environment dependencies......
Requesting root privileges to run with virtualenv: letsencrypt --rsa-key-size 4096 renew
An unexpected error occurred:
ContextualVersionConflict: (idna 2.6 (/usr/local/lib/python2.7/dist-packages), Requirement.parse('idna<2.6,>=2.5'), set(['requests']))
Please see the logfile '/tmp/tmpvqlc3z' for more details.
In the log file is:
2017-08-09 16:16:10,571:DEBUG:certbot.log:Exiting abnormally:
Traceback (most recent call last):
File "/usr/local/bin/letsencrypt", line 11, in <module>
sys.exit(main())
File "/usr/local/lib/python2.7/dist-packages/certbot/main.py", line 733, in main
plugins = plugins_disco.PluginsRegistry.find_all()
File "/usr/local/lib/python2.7/dist-packages/certbot/plugins/disco.py", line 203, in find_all
plugin_ep = PluginEntryPoint(entry_point)
File "/usr/local/lib/python2.7/dist-packages/certbot/plugins/disco.py", line 50, in __init__
self.plugin_cls = entry_point.load()
File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2315, in load
self.require(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2338, in require
items = working_set.resolve(reqs, env, installer, extras=self.extras)
File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 863, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
ContextualVersionConflict: (idna 2.6 (/usr/local/lib/python2.7/dist-packages), Requirement.parse('idna<2.6,>=2.5'), set(['requests']))
That is the old name for exactly the same program. If you're using the self-updating version letsencrypt-auto/certbot-auto then you have the newest version despite using it under its old name.
I encountered the same issue. My install was done via https://github.com/thefinn93/ansible-letsencrypt (ansible role). I was a little baffled because the role doesn’t install “idna” directly, so somewhere along the line one of the pip modules caused a version conflict.
I did the same workaround where I installed a more specific version of idna and then issued my certificate. But the way ansible works, I run install scripts over again to ensure the system is in a desired state, and going over the script again just breaks the install.
I could patch the ansible role to install a specific version of idna, but that’s not very future-proof. Anyone know more about what happened or how this can be resolved in a more permanent manner?
Ah great @mnordhoff @vaclavambroz@ideasasylum can you tell me what operating system you’re running, and what method you used to install certbot? Can you also tell me what version of certbot you have?
looks like we’re using ansible’s pip task to install the letsencrypt package.
I gather this isn’t the preferred method now (this server & ascripts are probably more than a year old now)?
I’m using Letsencrypt probably every 2 days and the first time I encountered the error was on Monday so I’m pretty sure it’s when my script updated certbot/letsencrypt
It was long time ago and I didnt know about package. There were not many dependencies - I have only python on system and then I installed pip and python-dialog I think. Maybe letsencrypt-auto installed dependencied by themselves.
It is a little odd that there is a pip module, but installing with it is unsupported. Is everyone else running into this on Debian, as well? Seems to be a common thread.