I've downloaded the latest certbot-auto but I'm unable to run it, because it fails part-way through the setup (even when I say --no-self-upgrade). When run, it gets as far as installing Python packages and then dies with the following (in verbose mode):
Creating virtual environment...
Running virtualenv with interpreter /usr/local/bin/python2.7
New python executable in /opt/eff.org/certbot/venv/bin/python2.7
Also creating executable in /opt/eff.org/certbot/venv/bin/python
Installing setuptools, pip...done.
Installing Python packages...
Traceback (most recent call last):
File "/tmp/tmp.OJA9SDhEsh/pipstrap.py", line 177, in <module>
exit(main())
File "/tmp/tmp.OJA9SDhEsh/pipstrap.py", line 164, in main
shell=True)
File "/usr/local/lib/python2.7/subprocess.py", line 219, in check_output
raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command 'pip install --no-index --no-deps -U /tmp/pipstrap-JYQfdW/pip-9.0.1.tar.gz /tmp/pipstrap-JYQfdW/setuptools-40.6.3.zip /tmp/pipstrap-JYQfdW/wheel-0.29.0.tar.gz' returned non-zero exit status 1
I've tried deleting the virtualenv and starting again from scratch, but it doesn't help. This issue has been seen more than once before, for example here:
but it seems still to be an issue for me. Any suggestions very welcome!
I'm on Debian Jessie (8.11) and the certbot-auto was downloaded directly using wget. I have also tried the debian packages from jessie-backports, as recommended in the documentation, and it has exactly the same error, though it downloads more things before dying!
I had a think about your problem several hours ago and figured that it’s probably a clash between your installed OS packages and whatever pip wants to do.
I think you can expose the underlying error from pipstrap’s pip call like this:
@ Line 1279~ add an extra import:
try:
from subprocess import check_output, CalledProcessError
@ Line 1415~ add another catch case above the existing HashError:
except CalledProcessError as cpe:
print(cpe.output)
raise
except HashError as exc:
print(exc)
On Jessie, this should definitely reveal the error.
Thanks, _az… but I’m afraid, annoyingly, I’ve fixed it without knowing how!
Late last night I decided this was never going to work and a much better solution was to install docker and run it that way. So I did an apt-get install docker and got confused until I remembered that there was another system called docker, and I had to use the old name of docker.io… so I uninstalled docker and installed docker.io, but then it was time for bed.
And this morning, I found that certbot-auto works! Without docker! So clearly there was something that needed updating on my system (I’m guessing something cryptography-related), that certbot-auto or its underlying pip process was failing to install, but that either the docker or the docker.io Debian package updated.
Very mysterious! I will try your solution if the problem recurs, but just at present, I have my certificates back.