为什么pip下载速度这么慢?(如何排查?)
我可以用 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
参考资料: