【问题标题】:pip search django produces time out errorpip search django 产生超时错误
【发布时间】:2012-04-08 12:01:45
【问题描述】:

巧合的是,我运行 pip search django 命令并出现超时错误。甚至指定一个很高的超时值

在日志下方:

D:\PERFILES\rmaceissoft\virtualenvs\fancy_budget\Scripts>pip search django --timeout=300
Exception:
Traceback (most recent call last):
  File "D:\PERFILES\Marquez\rmaceissoft\Workspace\virtualenvs\fancy_budget\lib\s
ite-packages\pip-1.1-py2.7.egg\pip\basecommand.py", line 104, in main
    status = self.run(options, args)
  File "D:\PERFILES\Marquez\rmaceissoft\Workspace\virtualenvs\fancy_budget\lib\s
ite-packages\pip-1.1-py2.7.egg\pip\commands\search.py", line 34, in run
    pypi_hits = self.search(query, index_url)
  File "D:\PERFILES\Marquez\rmaceissoft\Workspace\virtualenvs\fancy_budget\lib\s
ite-packages\pip-1.1-py2.7.egg\pip\commands\search.py", line 48, in search
    hits = pypi.search({'name': query, 'summary': query}, 'or')
  File "C:\Python27\Lib\xmlrpclib.py", line 1224, in __call__
    return self.__send(self.__name, args)
  File "C:\Python27\Lib\xmlrpclib.py", line 1575, in __request
    verbose=self.__verbose
  File "C:\Python27\Lib\xmlrpclib.py", line 1264, in request
    return self.single_request(host, handler, request_body, verbose)
  File "C:\Python27\Lib\xmlrpclib.py", line 1297, in single_request
    return self.parse_response(response)
  File "C:\Python27\Lib\xmlrpclib.py", line 1462, in parse_response
    data = stream.read(1024)
  File "C:\Python27\Lib\httplib.py", line 541, in read
    return self._read_chunked(amt)
  File "C:\Python27\Lib\httplib.py", line 574, in _read_chunked
    line = self.fp.readline(_MAXLINE + 1)
  File "C:\Python27\Lib\socket.py", line 476, in readline
    data = self._sock.recv(self._rbufsize)
timeout: timed out

Storing complete log in C:\Users\reiner\AppData\Roaming\pip\pip.log

但是,另一个搜索命令没有问题地完成:

pip search django-registration

这是因为大量包含“django”的包名导致的pip错误吗?

注意: 互联网连接速度 = 2 Mbits

【问题讨论】:

  • 搜索是否超时?
  • 显然只有当查询倾向于产生很多结果时:* pip search python * pip search django
  • 我在我的 mac os x 中复制了你的调用,它运行良好(运行需要几秒钟,但运行正常)。
  • @HugoTavares,在阅读了您的评论后,我再次尝试,现在该命令可以正常工作,正如您所说的“需要几秒钟才能运行”。无论如何,最好 pip search 命令不会一次提取所有结果,并允许对结果进行分页,甚至添加“每页”选项来定义页面大小
  • 将问题添加到 pip 的问题跟踪器 github.com/pypa/pip/issues/498

标签: python django pip


【解决方案1】:

pypi 可能已超载。只需在 pip 中启用镜像回退和缓存。也许稍微调整超时。在 ~/.pip/pip.conf 中添加这些:

[global]
default-timeout = 60
download-cache = ~/.pip/cache

[install]
use-mirrors = true

【讨论】:

    【解决方案2】:

    默认为 pip 设置的默认超时太短。您确实应该将此环境变量 PIP_DEFAULT_TIMEOUT 设置为至少 60(1 分钟)

    来源:http://www.pip-installer.org/en/latest/configuration.html

    【讨论】:

      【解决方案3】:

      --timeout 选项似乎无法正常工作。

      我可以使用以下任一方法正确安装 django:

      pip --default-timeout=60 install django
      

      export PIP_DEFAULT_TIMEOUT=60
      pip install django
      

      注意:在 RHEL 6.3 上使用 pip 版本 1.2.1

      来源:DjangoDay2012-Brescia.pdf, page 11

      【讨论】:

      • 同事遇到了这个问题。出于某种原因,这行得通。谢谢。
      • 点赞默认超时
      猜你喜欢
      • 2020-08-24
      • 2021-05-28
      • 1970-01-01
      • 1970-01-01
      • 2012-08-10
      • 2020-01-30
      • 1970-01-01
      相关资源
      最近更新 更多