Raspbian certbot-auto installation issues


#1

Hi,

I’m trying to install certbot-auto (after kicking out an older version of certbot installed from the Raspbian repo) using the instructions provided here, but it fails with:

Certbot has problem setting up the virtual environment.

But I see no apparent reason for the failure. Any help would be appreciated.

Full console output below:

pi@raspberry:~ $sudo certbot-auto --apache  
Bootstrapping dependencies for Debian-based OSes... (you can skip this with --no-bootstrap)
Hit:1 http://archive.raspberrypi.org/debian stretch InRelease
Hit:2 http://raspbian.raspberrypi.org/raspbian stretch InRelease        
Hit:3 https://deb.nodesource.com/node_10.x stretch InRelease            
Hit:4 https://dev2day.de/pms stretch InRelease
Reading package lists... Done
Reading package lists... Done
Building dependency tree       
Reading state information... Done
augeas-lenses is already the newest version (1.8.0-1+deb9u1).
ca-certificates is already the newest version (20161130+nmu1+deb9u1).
gcc is already the newest version (4:6.3.0-4).
libaugeas0 is already the newest version (1.8.0-1+deb9u1).
libffi-dev is already the newest version (3.2.1-6).
libssl-dev is already the newest version (1.1.0j-1~deb9u1).
openssl is already the newest version (1.1.0j-1~deb9u1).
python is already the newest version (2.7.13-2).
python-dev is already the newest version (2.7.13-2).
python-virtualenv is already the newest version (15.1.0+ds-1).
virtualenv is already the newest version (15.1.0+ds-1).
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.
Creating virtual environment...
Installing Python packages...
Had a problem while installing Python packages.

pip prints the following errors: 
=====================================================
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7.
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting argparse==1.4.0 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 11))
  Downloading https://files.pythonhosted.org/packages/f2/94/3af39d34be01a24a6e65433d19e107099374224905f1e0cc6bbe1fd22a2f/argparse-1.4.0-py2.py3-none-any.whl
Collecting pycparser==2.14 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 17))
  Downloading https://files.pythonhosted.org/packages/6d/31/666614af3db0acf377876d48688c5d334b6e493b96d21aa7d332169bee50/pycparser-2.14.tar.gz (223kB)
Collecting asn1crypto==0.22.0 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 21))
  Downloading https://files.pythonhosted.org/packages/97/ba/7e8117d8efcee589f4d96dd2b2eb1d997f96d27d214cf2b7134ad8acf6ab/asn1crypto-0.22.0-py2.py3-none-any.whl (97kB)
Collecting cffi==1.11.5 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 24))
  Downloading https://files.pythonhosted.org/packages/e7/a7/4cd50e57cc6f436f1cc3a7e8fa700ff9b8b4d471620629074913e3735fb2/cffi-1.11.5.tar.gz (438kB)
Collecting ConfigArgParse==0.12.0 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 57))
  Downloading https://files.pythonhosted.org/packages/17/8d/4a41f11b0971017c7001f118be8003da8f7b96b010c66cd792b76658d1e1/ConfigArgParse-0.12.0.tar.gz (41kB)
Collecting configobj==5.0.6 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 60))
  Downloading https://files.pythonhosted.org/packages/64/61/079eb60459c44929e684fa7d9e2fdca403f67d64dd9dbac27296be2e0fab/configobj-5.0.6.tar.gz
Collecting cryptography==2.2.2 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 63))
  Downloading https://files.pythonhosted.org/packages/ec/b2/faa78c1ab928d2b2c634c8b41ff1181f0abdd9adf9193211bd606ffa57e2/cryptography-2.2.2.tar.gz (443kB)
Collecting enum34==1.1.2 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 83))
  Downloading https://files.pythonhosted.org/packages/6f/e9/08fd439384b7e3d613e75a6c8236b8e64d90c47d23413493b38d4229a9a5/enum34-1.1.2.tar.gz (46kB)
Collecting funcsigs==1.0.2 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 86))
  Downloading https://files.pythonhosted.org/packages/69/cb/f5be453359271714c01b9bd06126eaf2e368f1fddfff30818754b5ac2328/funcsigs-1.0.2-py2.py3-none-any.whl
Collecting idna==2.5 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 89))
  Downloading https://files.pythonhosted.org/packages/11/7d/9bbbd7bb35f34b0169542487d2a8859e44306bb2e6a4455d491800a5621f/idna-2.5-py2.py3-none-any.whl (55kB)
Collecting ipaddress==1.0.16 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 92))
  Downloading https://files.pythonhosted.org/packages/23/6a/813ac29a01e4c33c19c2bded98ac3d4266ebbf0bd2c0eb0020e1c969958d/ipaddress-1.0.16-py27-none-any.whl
Collecting josepy==1.1.0 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 95))
  Downloading https://files.pythonhosted.org/packages/23/46/30ac29742b03be92e05d1fd9048df6f0902bb0b3b042a7ea76a2b3c30f7e/josepy-1.1.0-py2.py3-none-any.whl (53kB)
Collecting linecache2==1.0.0 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 98))
  Downloading https://files.pythonhosted.org/packages/c7/a3/c5da2a44c85bfbb6eebcfc1dde24933f8704441b98fdde6528f4831757a6/linecache2-1.0.0-py2.py3-none-any.whl
Collecting mock==1.3.0 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 102))
  Downloading https://files.pythonhosted.org/packages/b2/50/664a70b87408bb6c14c1af2337efa64eb8d1af80c933531758b8fb41ec25/mock-1.3.0-py2.py3-none-any.whl (56kB)
Collecting ordereddict==1.1 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 105))
  Downloading https://files.pythonhosted.org/packages/53/25/ef88e8e45db141faa9598fbf7ad0062df8f50f881a36ed6a0073e1572126/ordereddict-1.1.tar.gz
Collecting packaging==16.8 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 108))
  Downloading https://files.pythonhosted.org/packages/87/1b/c39b7c65b5612812b83d6cab7ef2885eac9f6beb0b7b8a7071a186aea3b1/packaging-16.8-py2.py3-none-any.whl
Collecting parsedatetime==2.1 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 111))
  Downloading https://files.pythonhosted.org/packages/85/1f/13fc06097e516f6259d62cea502b116451321c96e18a9d0fff9da3442e02/parsedatetime-2.1-py2-none-any.whl
Collecting pbr==1.8.1 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 114))
  Downloading https://files.pythonhosted.org/packages/fc/37/94af8387babb09796d306b18cf94ee5c70388c875a16d8a88e471500452c/pbr-1.8.1-py2.py3-none-any.whl (89kB)
Collecting pyOpenSSL==16.2.0 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 117))
  Downloading https://files.pythonhosted.org/packages/ac/93/b4cd538d31adacd07f83013860db6b88d78755af1f3fefe68ec22d397e7b/pyOpenSSL-16.2.0-py2.py3-none-any.whl (43kB)
Collecting pyparsing==2.1.8 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 120))
  Downloading https://files.pythonhosted.org/packages/85/b9/188515f35f78533b3f82966a2c3f1a71a86df8b801367ee75a77191a861d/pyparsing-2.1.8-py2.py3-none-any.whl (54kB)
Collecting pyRFC3339==1.0 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 129))
  Downloading https://files.pythonhosted.org/packages/9b/0a/decfa17e7707afca17d6e9595ff5c79c1c71c74063ad95576f897ed3a9f1/pyRFC3339-1.0-py2.py3-none-any.whl
Collecting python-augeas==0.5.0 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 132))
  Downloading https://files.pythonhosted.org/packages/41/e6/4b6740cb3e31b82252099994cea751c648b846aa7874343c31d68c2215be/python-augeas-0.5.0.tar.gz (90kB)
Collecting pytz==2015.7 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 135))
  Downloading https://files.pythonhosted.org/packages/c0/28/973f0382c803b21734cd7e97e0590928148ee21b1cbe8f7fed8b506204fb/pytz-2015.7-py2.py3-none-any.whl (476kB)
Collecting requests==2.20.0 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 149))
  Downloading https://files.pythonhosted.org/packages/f1/ca/10332a30cb25b627192b4ea272c351bce3ca1091e541245cccbace6051d8/requests-2.20.0-py2.py3-none-any.whl (60kB)
Collecting six==1.10.0 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 152))
  Downloading https://files.pythonhosted.org/packages/c8/0a/b6723e1bc4c516cb687841499455a8505b44607ab535be01091c0f24f079/six-1.10.0-py2.py3-none-any.whl
Collecting traceback2==1.4.0 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 155))
  Downloading https://files.pythonhosted.org/packages/17/0a/6ac05a3723017a967193456a2efa0aa9ac4b51456891af1e2353bb9de21e/traceback2-1.4.0-py2.py3-none-any.whl
Collecting unittest2==1.1.0 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 158))
  Downloading https://files.pythonhosted.org/packages/72/20/7f0f433060a962200b7272b8c12ba90ef5b903e218174301d0abfd523813/unittest2-1.1.0-py2.py3-none-any.whl (96kB)
Collecting zope.component==4.2.2 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 161))
  Downloading https://files.pythonhosted.org/packages/4c/c4/3f77127c876f49af478e8ea4dc223cda17730bb273c0d1606a4114c64008/zope.component-4.2.2.tar.gz (546kB)
Collecting zope.event==4.1.0 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 164))
  Downloading https://files.pythonhosted.org/packages/0e/87/75e3d62a3506953c2e56d15a150de31e5d92310e87db2c8b102dc01b0b8e/zope.event-4.1.0.tar.gz (476kB)
Collecting zope.interface==4.1.3 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 167))
  Downloading https://files.pythonhosted.org/packages/9d/81/2509ca3c6f59080123c1a8a97125eb48414022618cec0e64eb1313727bfe/zope.interface-4.1.3.tar.gz (141kB)
Collecting requests-toolbelt==0.8.0 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 185))
  Downloading https://files.pythonhosted.org/packages/97/8a/d710f792d6f6ecc089c5e55b66e66c3f2f35516a1ede5a8f54c13350ffb0/requests_toolbelt-0.8.0-py2.py3-none-any.whl (54kB)
Collecting chardet==3.0.2 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 188))
  Downloading https://files.pythonhosted.org/packages/b8/74/54fdc2fcfdd46b6c486964b64c5bb7db9a3664033ab25cf11aab06dd2a5d/chardet-3.0.2-py2.py3-none-any.whl (133kB)
Collecting urllib3==1.24.1 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 191))
  Downloading https://files.pythonhosted.org/packages/62/00/ee1d7de624db8ba7090d1226aebefab96a2c71cd5cfa7629d6ad3f61b79e/urllib3-1.24.1-py2.py3-none-any.whl (118kB)
Collecting certifi==2017.4.17 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 194))
  Downloading https://files.pythonhosted.org/packages/eb/01/c1f58987b777d6c4ec535b4e004a4a07bfc9db06f0c7533367ca6da8f2a6/certifi-2017.4.17-py2.py3-none-any.whl (375kB)
Collecting letsencrypt==0.7.0 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 205))
  Downloading https://files.pythonhosted.org/packages/fd/21/0c6f33829fadec8aca0c1ebb4d6f8101c05899356a58d1b2e506cb77cf18/letsencrypt-0.7.0-py2-none-any.whl
Collecting certbot==0.30.0 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 209))
  Downloading https://files.pythonhosted.org/packages/e0/5e/9881564f386c1294d6cf387d5c754d7eb3277507b46afac1c646d6ae6de6/certbot-0.30.0-py2.py3-none-any.whl (317kB)
Collecting acme==0.30.0 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 212))
  Downloading https://files.pythonhosted.org/packages/df/a7/fc6114c715233ab53c9571d3b710d596bc80446eac14e0906362fa69e4b1/acme-0.30.0-py2.py3-none-any.whl (85kB)
Collecting certbot-apache==0.30.0 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 215))
  Downloading https://files.pythonhosted.org/packages/37/37/46433ff4358e12d1caf4101308411bf1dad0df3e27e2e62c5037ca75d2e0/certbot_apache-0.30.0-py2.py3-none-any.whl (228kB)
Collecting certbot-nginx==0.30.0 (from -r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 218))
  Downloading https://files.pythonhosted.org/packages/ad/15/7f42f31ba068f837816647135a0704a8c89aad685df160407e92870c0277/certbot_nginx-0.30.0-py2.py3-none-any.whl (90kB)
Requirement already satisfied: setuptools>=1.0 in /opt/eff.org/certbot/venv/lib/python2.7/site-packages (from josepy==1.1.0->-r /tmp/tmp.lhJjXNV3Jp/letsencrypt-auto-requirements.txt (line 95)) (40.6.3)
Exception:
Traceback (most recent call last):
  File "/opt/eff.org/certbot/venv/local/lib/python2.7/site-packages/pip/_internal/cli/base_command.py", line 176, in main
    status = self.run(options, args)
  File "/opt/eff.org/certbot/venv/local/lib/python2.7/site-packages/pip/_internal/commands/install.py", line 346, in run
    session=session, autobuilding=True
  File "/opt/eff.org/certbot/venv/local/lib/python2.7/site-packages/pip/_internal/wheel.py", line 848, in build
    assert building_is_possible
AssertionError
=====================================================

Certbot has problem setting up the virtual environment.

We were not be able to guess the right solution from your pip 
output.

Consult https://certbot.eff.org/docs/install.html#problems-with-python-virtual-environment
for possible solutions.
You may also find some support resources at https://certbot.eff.org/support/ .

#2

There’s a bug in the most recent version of pip. See this post for how you can edit certbot-auto to work around it, if you want to:


#3

It worked. Thank you.