【问题标题】:"SSLError: The read operation timed out" when using pip使用 pip 时出现“SSLError:读取操作超时”
【发布时间】:2013-09-23 11:50:28
【问题描述】:

每当我尝试使用pip 安装某些东西时,我都会收到以下错误:

Downloading/unpacking Django>=1.5.1,<1.6 (from -r requirements.txt (line 1))
  Downloading Django-1.5.4.tar.gz (8.1MB): 8.0MB downloaded
Cleaning up...
Exception:
Traceback (most recent call last):
  File "/vagrant/venv/local/lib/python2.7/site-packages/pip/basecommand.py", line 134, in main
    status = self.run(options, args)
  File "/vagrant/venv/local/lib/python2.7/site-packages/pip/commands/install.py", line 236, in run
    requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
  File "/vagrant/venv/local/lib/python2.7/site-packages/pip/req.py", line 1092, in prepare_files
    self.unpack_url(url, location, self.is_download)
  File "/vagrant/venv/local/lib/python2.7/site-packages/pip/req.py", line 1238, in unpack_url
    retval = unpack_http_url(link, location, self.download_cache, self.download_dir)
  File "/vagrant/venv/local/lib/python2.7/site-packages/pip/download.py", line 622, in unpack_http_url
    download_hash = _download_url(resp, link, temp_location)
  File "/vagrant/venv/local/lib/python2.7/site-packages/pip/download.py", line 495, in _download_url
    chunk = resp.read(4096)
  File "/usr/lib/python2.7/socket.py", line 380, in read
    data = self._sock.recv(left)
  File "/usr/lib/python2.7/httplib.py", line 561, in read
    s = self.fp.read(amt)
  File "/usr/lib/python2.7/socket.py", line 380, in read
    data = self._sock.recv(left)
  File "/usr/lib/python2.7/ssl.py", line 241, in recv
    return self.read(buflen)
  File "/usr/lib/python2.7/ssl.py", line 160, in read
    return self._sslobj.read(len)
SSLError: The read operation timed out

Storing complete log in /home/vagrant/.pip/pip.log

这曾经不时发生在我身上,但现在我无法安装任何东西。我尝试添加--timeout=600,但它在相同的时间内失败(达到 8.0M 后几秒钟)。
关于如何解决这个问题的任何想法?

【问题讨论】:

  • 您使用的是自己的 PyPI 镜像还是任何类型的代理服务器?
  • 不。在常规服务器上使用开箱即用的 pip。
  • 这仅在一台计算机上发生?如果是,为什么不尝试找出它正在尝试获取的 URL,并查看其上的 curl -O/wget 是否正常。
  • easy_install --dry-run 'Django&gt;=1.5.1,&lt;1.6'告诉我网址是https://pypi.python.org/packages/source/D/Django/Django-1.5.4.tar.gz#md5=b2685469bb4d1fbb091316e21f4108de
  • curl -O 在您粘贴的网址上工作正常,我也得到相同的 md5 总和。

标签: python pip


【解决方案1】:

这通常是因为互联网连接较弱,即;安装过程中失去互联网连接重做命令,它应该可以正常工作。

【讨论】:

    【解决方案2】:

    尝试(注意 --default):

    pip --default-timeout=100 install django
    

    如果还是不行,可以手动下载django1.5.4 和:

    https://docs.djangoproject.com/en/dev/topics/install/#installing-an-official-release-manually

    类似问题:

    pip search django produces time out error , pip install django timeout on MacOSX Lion

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多