Search code examples
macosquantum-computingqiskit

Timeout when trying to install Qiskit on macOS


I am trying to install Qiskit 0.20.0 on my machine running macOS and seeing the below error

pip install qiskit
Collecting qiskit
  Using cached qiskit-0.20.0.tar.gz (4.0 kB)
Collecting qiskit-terra==0.15.1
  Downloading qiskit_terra-0.15.1-cp38-cp38-macosx_10_9_x86_64.whl (7.6 MB)
     |██▏                             | 522 kB 7.7 kB/s eta 0:15:22ERROR: Exception:
Traceback (most recent call last):
  File "/usr/local/anaconda3/envs/qiskit_env/lib/python3.8/site-packages/pip/_vendor/urllib3/response.py", line 437, in _error_catcher
    yield
  File "/usr/local/anaconda3/envs/qiskit_env/lib/python3.8/site-packages/pip/_vendor/urllib3/response.py", line 519, in read
    data = self._fp.read(amt) if not fp_closed else b""
  File "/usr/local/anaconda3/envs/qiskit_env/lib/python3.8/site-packages/pip/_vendor/cachecontrol/filewrapper.py", line 62, in read
    data = self.__fp.read(amt)
  File "/usr/local/anaconda3/envs/qiskit_env/lib/python3.8/http/client.py", line 458, in read
    n = self.readinto(b)
  File "/usr/local/anaconda3/envs/qiskit_env/lib/python3.8/http/client.py", line 502, in readinto
    n = self.fp.readinto(b)
  File "/usr/local/anaconda3/envs/qiskit_env/lib/python3.8/socket.py", line 669, in readinto
    return self._sock.recv_into(b)
  File "/usr/local/anaconda3/envs/qiskit_env/lib/python3.8/ssl.py", line 1241, in recv_into
    return self.read(nbytes, buffer)
  File "/usr/local/anaconda3/envs/qiskit_env/lib/python3.8/ssl.py", line 1099, in read
    return self._sslobj.read(len, buffer)
socket.timeout: The read operation timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/anaconda3/envs/qiskit_env/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", line 216, in _main
    status = self.run(options, args)
  File "/usr/local/anaconda3/envs/qiskit_env/lib/python3.8/site-packages/pip/_internal/cli/req_command.py", line 182, in wrapper
    return func(self, options, args)
  File "/usr/local/anaconda3/envs/qiskit_env/lib/python3.8/site-packages/pip/_internal/commands/install.py", line 324, in run
    requirement_set = resolver.resolve(
  File "/usr/local/anaconda3/envs/qiskit_env/lib/python3.8/site-packages/pip/_internal/resolution/legacy/resolver.py", line 183, in resolve
    discovered_reqs.extend(self._resolve_one(requirement_set, req))
  File "/usr/local/anaconda3/envs/qiskit_env/lib/python3.8/site-packages/pip/_internal/resolution/legacy/resolver.py", line 388, in _resolve_one
    abstract_dist = self._get_abstract_dist_for(req_to_install)
  File "/usr/local/anaconda3/envs/qiskit_env/lib/python3.8/site-packages/pip/_internal/resolution/legacy/resolver.py", line 340, in _get_abstract_dist_for
    abstract_dist = self.preparer.prepare_linked_requirement(req)
  File "/usr/local/anaconda3/envs/qiskit_env/lib/python3.8/site-packages/pip/_internal/operations/prepare.py", line 467, in prepare_linked_requirement
    local_file = unpack_url(
  File "/usr/local/anaconda3/envs/qiskit_env/lib/python3.8/site-packages/pip/_internal/operations/prepare.py", line 255, in unpack_url
    file = get_http_url(
  File "/usr/local/anaconda3/envs/qiskit_env/lib/python3.8/site-packages/pip/_internal/operations/prepare.py", line 129, in get_http_url
    from_path, content_type = _download_http_url(
  File "/usr/local/anaconda3/envs/qiskit_env/lib/python3.8/site-packages/pip/_internal/operations/prepare.py", line 282, in _download_http_url
    for chunk in download.chunks:
  File "/usr/local/anaconda3/envs/qiskit_env/lib/python3.8/site-packages/pip/_internal/cli/progress_bars.py", line 168, in iter
    for x in it:
  File "/usr/local/anaconda3/envs/qiskit_env/lib/python3.8/site-packages/pip/_internal/network/utils.py", line 64, in response_chunks
    for chunk in response.raw.stream(
  File "/usr/local/anaconda3/envs/qiskit_env/lib/python3.8/site-packages/pip/_vendor/urllib3/response.py", line 576, in stream
    data = self.read(amt=amt, decode_content=decode_content)
  File "/usr/local/anaconda3/envs/qiskit_env/lib/python3.8/site-packages/pip/_vendor/urllib3/response.py", line 541, in read
    raise IncompleteRead(self._fp_bytes_read, self.length_remaining)
  File "/usr/local/anaconda3/envs/qiskit_env/lib/python3.8/contextlib.py", line 131, in __exit__
    self.gen.throw(type, value, traceback)
  File "/usr/local/anaconda3/envs/qiskit_env/lib/python3.8/site-packages/pip/_vendor/urllib3/response.py", line 442, in _error_catcher
    raise ReadTimeoutError(self._pool, None, "Read timed out.")
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.

The anaconda version on my machine is 4.8.4 and Python version is 3.8.5.

I have followed the instructions mentioned here and created a virtual environment before running

pip install qiskit

Solution

  • This looks like it's just a network issue. The error is a timeout trying to read from files.pythonhosted.org when pip was downloading the qiskit-terra package from PyPI. There isn't really anything you can do except to try again in such cases. If you're on a slow and/or unreliable internet connection it might take several tries take a few tries for the download of all the qiskit packages (and their dependencies) to succeed.