Updated to Ubuntu 15.10 letsencrypt-auto gets stuck on Installing Python packages


Got Ubuntu 15.10 installed and keep some of my old data did a rm -rf /root/.local/share/letsencrypt/ and then ./letsencrypt-auto

I have to press Ctrl-C then waited 4 hours and still same stuck place at:

ca-certificates is already the newest version.
libssl-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Checking for new version…
Creating virtual environment…
Installing Python packages…

It just stays at that last line and I can press Ctrl-C to get out of it.

Some of the last lines after the Ctrl-C look like this:

File “/tmp/tmp.7RAqDSzViu/peep.py”, line 570, in pipe_to_file
for chunk in progress_indicator(response_chunks(4096), 4096):
File “/tmp/tmp.7RAqDSzViu/peep.py”, line 559, in response_chunks
chunk = response.read(chunk_size)
File “/usr/lib/python2.7/socket.py”, line 384, in read
data = self._sock.recv(left)
File “/usr/lib/python2.7/httplib.py”, line 612, in read
s = self.fp.read(amt)
File “/usr/lib/python2.7/socket.py”, line 384, in read
data = self._sock.recv(left)
File “/usr/lib/python2.7/ssl.py”, line 734, in recv
return self.read(buflen)
File “/usr/lib/python2.7/ssl.py”, line 621, in read
v = self._sslobj.read(len or 1024)

So I can’t get Let’s Encrypt to install!

Any one know how to fix this?

-Raymond Day


This my help I did this:

dpkg --configure python
dpkg: error processing package python (–configure):
package python is already installed and configured
Errors were encountered while processing:

-Raymond Day


Did some other commands and at lest this time it got passed the installing python. It showed this:

Installing Python packages…
Had a problem while downloading and verifying Python packages:
Downloading argparse==1.4.0 (23K)…

Oh no! Peep had a problem while trying to do stuff. Please write up a bug report
with the specifics so we can fix it:


Here are some particulars you can copy and paste into the bug report:

peep: (3, 0, 0)
python: ‘2.7.10 (default, Oct 14 2015, 16:09:02)
[GCC 5.2.1 20151010]‘
pip: ‘1.5.6’
Command line: [’/tmp/tmp.JLP2NwBDtO/peep.py’, ‘install’, ‘-r’, ‘/tmp/tmp.JLP2NwBDtO/letsencrypt-auto-requirements.txt’]
Traceback (most recent call last):
File “/tmp/tmp.JLP2NwBDtO/peep.py”, line 958, in
File “/tmp/tmp.JLP2NwBDtO/peep.py”, line 930, in main
return commandsargv[1]
File “/tmp/tmp.JLP2NwBDtO/peep.py”, line 862, in peep_install
for path in req_paths))
File “/tmp/tmp.JLP2NwBDtO/peep.py”, line 862, in
for path in req_paths))
File “/tmp/tmp.JLP2NwBDtO/peep.py”, line 839, in downloaded_reqs_from_path
_parse_requirements(path, finder)]
File “/tmp/tmp.JLP2NwBDtO/peep.py”, line 420, in init
self.class = self._class()
File “/tmp/tmp.JLP2NwBDtO/peep.py”, line 699, in _class
if self._actual_hash() not in self._expected_hashes():
File “/tmp/tmp.JLP2NwBDtO/peep.py”, line 329, in memoizer
self._cache[func.name] = func(self)
File “/tmp/tmp.JLP2NwBDtO/peep.py”, line 655, in _actual_hash
return hash_of_file(join(self._temp_path, self._downloaded_filename()))
File “/tmp/tmp.JLP2NwBDtO/peep.py”, line 329, in memoizer
self._cache[func.name] = func(self)
File “/tmp/tmp.JLP2NwBDtO/peep.py”, line 613, in _downloaded_filename
file_path = self._download(link)
File “/tmp/tmp.JLP2NwBDtO/peep.py”, line 575, in _download
response = opener(urlparse(url).scheme != ‘http’).open(url)
File “/usr/lib/python2.7/urllib2.py”, line 431, in open
response = self._open(req, data)
File “/usr/lib/python2.7/urllib2.py”, line 449, in _open
’_open’, req)
File “/usr/lib/python2.7/urllib2.py”, line 409, in _call_chain
result = func(*args)
File “/usr/lib/python2.7/urllib2.py”, line 1240, in https_open
File “/usr/lib/python2.7/urllib2.py”, line 1200, in do_open
r = h.getresponse(buffering=True)
File “/usr/lib/python2.7/httplib.py”, line 1131, in getresponse
File “/usr/lib/python2.7/httplib.py”, line 453, in begin
version, status, reason = self._read_status()
File “/usr/lib/python2.7/httplib.py”, line 417, in _read_status
raise BadStatusLine(line)
BadStatusLine: ‘’

I don’t know what can do to fix this. Any one know?

-Raymond Day


Tested it again this time it came back with:

Installing Python packages…
Had a problem while downloading and verifying Python packages:
Downloading argparse==1.4.0 (23K)…
Downloading https://pypi.python.org/packages/source/c/cffi/cffi-1.4.2.tar.gz#md5=81357fe5042d00650b85b728cc181df2 (from https://pypi.python.org/simple/cffi/) failed: <urlopen error [Errno 110] Connection timed out>

I guess just have to wait till Python packages web page is back up, don’t know.

-Raymond Day


Wow after a long time looks like it’s fixed. I guess what did it is when I did a git pull in the /letsencrypt folder.

So just had to update letsencrypt looks like.

-Raymond Day


I’m experiencing the same issue. I just pulled the latest master branch from letsencrypt. The process was hanging when it got to “Installing Python packages…”. I tried running with verbose mode, but it didn’t seem to provide more info about the Python package install.

I’m running on a 1GB linnode instance running Ubuntu 14.04 and all the RAM is consumed and the CPU spikes

/opt/letsencrypt/letsencrypt-auto --verbose --config /etc/letsencrypt/configs/mydomain.com certonly

I worked abound this by killing my webserver and webapp to give the system more RAM. Before running letsencrypt with my processes running, I had about 40% RAM available.


That’s probably because letsencrypt-auto install letsencrypt binary using pip in a virtualenv, so somes dependencies get also installed in the virtualenv which require some compilation (zope.interface, psutil, cryptography, cffi), and that can be pretty CPU and RAM intensive.

I think the only thing to do is wait for letsencrypt to be available via the package manager (apt-get) or use an alternate client that do not need compilation do be installed like:


Thank you for the feedback. Just to provide more info. I happened to see this again on a different server with 512MB of RAM. When I do an htop, it looks like it’s compiling openssl among other things. It took awhile, but it did eventually finish. I think it was digging into swap a bit.