为什么pip下载速度这么慢?(如何排查?)

27 投票
1 回答
32065 浏览
提问于 2025-04-17 20:17

我可以用 wget 命令下载,比如说这个 python coverage,然后用 pip 命令在本地快速安装这个包,没什么问题。但是如果我用 pip install coverage 来安装的话,就会花费很长时间,感觉像是要等到天荒地老一样。我是在 Ubuntu 12.04 上的虚拟环境里用 pip 1.3.1,不知道是什么原因导致这么慢。

1 个回答

18

正如Donald Stufft在pip问题864中提到的,这种情况发生是因为pip会去爬很多网页寻找软件包的源代码包,这个行为是从easy_install继承过来的。有些软件包如果去掉这个功能就不能正常工作,因此有些人开始了一个新的PEP,目的是去掉这种外部链接的行为:PEP 438 - 过渡到PyPI上的发布文件托管

Donald说过,"在PEP438实施之前,你也可以使用Crate.io的限制API,使用命令pip install -i https://restricted.crate.io/,这将只安装直接托管的版本。"

但是正如Marcus Smith在virtualenv邮件列表中提到的,你可以下载软件包及其依赖项,然后忽略PyPI,直接使用你的下载目录:http://www.pip-installer.org/en/latest/cookbook.html#fast-local-installs


使用https://restricted.create.io来避免外部链接行为的示例:

$ pip install -i https://restricted.crate.io/ coverage

参考资料:

撰写回答