如何用 pip 解决 ReadTimeoutError: HTTPSConnectionPool (host = ‘ pypi.python.org’,port = 443) ?

我最近需要安装一些软件包

pip install future
pip install scikit-learn
pip install numpy
pip install scipy

在他们之前,我也试过写 sudo,但都出现了以下红线错误:

Exception:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main
status = self.run(options, args)
File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 290, in run
requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
File "/usr/lib/python2.7/dist-packages/pip/req.py", line 1198, in prepare_files
do_download,
File "/usr/lib/python2.7/dist-packages/pip/req.py", line 1376, in unpack_url
self.session,
File "/usr/lib/python2.7/dist-packages/pip/download.py", line 572, in unpack_http_url
download_hash = _download_url(resp, link, temp_location)
File "/usr/lib/python2.7/dist-packages/pip/download.py", line 433, in _download_url
for chunk in resp_read(4096):
File "/usr/lib/python2.7/dist-packages/pip/download.py", line 421, in resp_read
chunk_size, decode_content=False):
File "/usr/lib/python2.7/dist-packages/urllib3/response.py", line 256, in stream
data = self.read(amt=amt, decode_content=decode_content)
File "/usr/lib/python2.7/dist-packages/urllib3/response.py", line 201, in read
raise ReadTimeoutError(self._pool, None, 'Read timed out.')
ReadTimeoutError: HTTPSConnectionPool(host='pypi.python.org', port=443): Read timed out.


Storing debug log for failure in /root/.pip/pip.log'
175191 次浏览

在安装时使用 --default-timeout=100参数:

sudo pip install --default-timeout=100 future
sudo pip install --default-timeout=100 future

或者选择

export PIP_DEFAULT_TIMEOUT=100

在 Mac OS X 上为我工作

有两种方法可以解决这个问题:

sudo pip install --default-timeout=100 future

或者

pip install --default-timeout=100 future

注意: 如果您不是您的机器的超级用户,sudo pip命令将无法工作。

如果您正在使用 JetBrains PyCharm,适当的解决步骤是:

  1. 连接到 PyCharm 中的终端/打开终端。

  2. 类型 source <path to your projects environment eg: /users/name/myapp/venv>

  3. 根据安装运行 pip install <package name>或运行 pip3 install <package name>

这将自动为您的解释器安装软件包。

为了避免混淆,我们把这个放在那里,对于 pip3,您可以使用

sudo pip3 install --default-timeout=100 future

升级 pip为我解决了这个问题。

python -m pip install --upgrade pip