【发布时间】:2013-03-15 18:36:59
【问题描述】:
我可以得到例如python coverage 和 pip 在本地快速安装包,没有任何问题,但 pip install coverage 需要 永远。在 Ubuntu 12.04 的虚拟环境中使用 pip 1.3.1。知道什么可能是滞留吗?
【问题讨论】:
我可以得到例如python coverage 和 pip 在本地快速安装包,没有任何问题,但 pip install coverage 需要 永远。在 Ubuntu 12.04 的虚拟环境中使用 pip 1.3.1。知道什么可能是滞留吗?
【问题讨论】:
正如 Donald Stufft 在 pip issue 864 中回答的那样,这是因为 pip 爬取了很多页面来寻找包 sdists,而这种行为是从 easy_install 继承的。如果您删除该功能,某些软件包将无法工作,并且有些人启动了一个新的 PEP 来删除此外部链接行为:PEP 438 - Transitioning to release-file hosting on PyPI
Donald 说 “在 PEP438 实施之前,您还可以使用 Crate.io 的受限 API,pip install -i https://restricted.crate.io/ 这只会安装直接托管的版本。”
但是作为Marcus Smith mentioned in the virtualenv mailing list,你可以下载包及其依赖,它们会忽略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
参考资料:
【讨论】:
pip install 使用--download 选项似乎没有帮助,但使用restricted.crate.io 有帮助。