Certbot-auto install/update not working on Debian 8

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!

Do you have enough disk space?

Hi Osiris -

Yes, plenty of disk space. I wondered about that too :slight_smile:

Q

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.

Thanks!

1 Like

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