Python pip --index-url 不限制存储库搜索

Posted

技术标签:

【中文标题】Python pip --index-url 不限制存储库搜索【英文标题】:Python pip --index-url Not Limiting Repository Search 【发布时间】:2013-05-08 09:35:29 【问题描述】:

我正在尝试指示 pip 仅使用本地存储库(在我的内部网络中的不同服务器上)安装软件包。要求是永远不要查询远程存储库(如 pypi),即使本地存储库没有匹配项也是如此。

第一次尝试:

$ pip install --index-url=http://<local.repo.host>/packages/pypi/data/web/simple/ paramiko --verbose

但是,当我运行上面的命令时,很明显仍在咨询其他存储库:

....
Ignoring link http://www.amk.ca/files/python/pycrypto-1.9a5.tar.gz
(from http://<local.repo.host>/packages/pypi/data/web/simple/pycrypto/),
version 1.9a5 doesn't match >=2.1,!=2.4

到目前为止,我发现的唯一解决方法是 pip 下载(无需安装),然后 easy_install tarball。

例子:

$ sudo pip install --no-install --download /tmp/ --index-url=http://<local.repo.host>/packages/pypi/data/web/simple/ paramiko
$ sudo easy_install --allow-hosts=<local.repo.host> --index-url http://<local.repo.host>/packages/pypi/data/web/simple/ /tmp/paramiko-1.9.0.tar.gz 

这会导致远程存储库被阻止:

Link to http://www.amk.ca/files/python/pycrypto-1.9a5.tar.gz
***BLOCKED*** by --allow-hosts

我也尝试将 ~/.pydistutils.cfg 设置为:

[easy_install]
index_url = http://<local.repo.host>/packages/pypi/data/web/simple/
allow_hosts = <local.repo.host>

和 ~/.pip/pip.conf 到:

[global]
index-url = http://<local.repo.host>/packages/pypi/data/web/simple/

正如“PyPI 出现故障时该怎么办”博客所建议的那样,但这也不会阻止对远程存储库的尝试。

有没有更直接的方法来实现这一点?鉴于 pip 非常受欢迎(出于很多原因),我宁愿不使用 easy_install 。这种方法是否适用于所有情况?

【问题讨论】:

【参考方案1】:

更新:通过升级 pip 修复。

【讨论】:

以上是关于Python pip --index-url 不限制存储库搜索的主要内容,如果未能解决你的问题,请参考以下文章

python pip 使用

python[pip源配置]

python-阿里镜像源-pip

python pip下载很慢问题

Python 配置 pip 源

python之pip使用技巧