pip.conf 不关注可信主机

Posted

技术标签:

【中文标题】pip.conf 不关注可信主机【英文标题】:pip.conf not paying attention to trusted-host 【发布时间】:2018-01-02 08:54:16 【问题描述】:

我的pip.conf 文件如下:

[global]
trusted-host = <private IP>
extra-index-url = http://<private IP>/pypi

但是,每当我尝试从私有 pypi 存储库安装一个包(只是一个测试包)时,我都会收到一个错误,指示我添加 --trusted-host &lt;private IP&gt;。如果我这样做了,我可以成功安装包,所以我知道pip 正在读取pip.conf 文件。为什么不尊重trusted-host 配置?我已经三重检查了配置文件中的 IP 是否匹配。

Google 的一些博客和粗略搜索似乎表明它应该这样做。 (https://pseudoscripter.wordpress.com/2016/05/07/pip-the-repository-located-at-some-ip-is-not-a-trusted-or-secure-host-and-is-being-ignored/)

【问题讨论】:

对于故障排除,您应该首先尝试使用PIP_CONFIG_FILE 环境变量明确指定pip.conf 的路径。如果这有效,那么它只是一个与优先级相关的问题。还要检查pip config list 【参考方案1】:

将我的 pip.conf 从 $HOME/.pip/pip.conf 复制到 /etc/pip.conf 并且成功了!

【讨论】:

嗨,我做了同样的事情,但没有运气,你把它放在同一部分 [global] 吗?我将proxytrusted-host 配置都放在了这个文件中。并且 pip 显然采用了 proxy 配置,但忽略了 trusted-host @Mheni 不,我把它放在它自己的部分下,而不是在[global] 下。【参考方案2】:

这不会是不同pip.conf配置不同的问题吗?根据official docs:

配置文件的名称和位置因平台而异。您可能有每个用户、每个虚拟环境或站点范围(在所有用户之间共享)的配置。

在 Unix 上,默认配置文件是:$HOME/.config/pip/pip.conf,它尊重 XDG_CONFIG_HOME 环境变量。 还有一个旧的每用户配置文件也受到尊重,在 Unix 和 macOS 上位于 $HOME/.pip/pip.conf。 在 virtualenv 中,在 Unix 和 macOS 上,文件是 $VIRTUAL_ENV/pip.conf 站点范围内,在 Unix 上该文件可能位于 /etc/pip.conf。或者,它可能位于环境变量 XDG_CONFIG_DIRS(如果存在)中设置的任何路径的“pip”子目录中,例如 /etc/xdg/pip/pip.conf。

【讨论】:

对于trusted-host,可以是逗号分隔的列表吗?【参考方案3】:

要检查正在查看的配置文件运行:pip config --editor pathtoeditorofyourchoice edit,这将打开链接的 ini 文件。如果它不存在,编辑器(记事本++)将声明在特定路径中没有文件

还请考虑此处所述 (https://pip.pypa.io/en/stable/user_guide):

如果 pip 找到多个配置文件,那么它们是 按以下顺序组合:

The site-wide file is read
The per-user file is read
The virtualenv-specific file is read

每次读取的文件都会覆盖从先前文件读取的任何值,所以如果 全局超时在站点范围的文件和 每个用户的文件,那么将使用后一个值。

文档还说:

您可以使用 环境变量 PIP_CONFIG_FILE。

但是,使用此环境变量设置运行上面的命令会导致

Fatal Internal error [id=2]. Please report as a bug.

【讨论】:

【参考方案4】:

您可能使用的是旧版本的 PIP。尝试使用以下方式升级:

python -m pip install --upgrade pip

【讨论】:

以上是关于pip.conf 不关注可信主机的主要内容,如果未能解决你的问题,请参考以下文章

下一代HTTPS:蚂蚁金服推出新型可信中间件SOFAEnclave

可信执行环境(TEE)介绍 与应用

喜讯海航云通过可信云安全服务认证

如何将网址设为可信任站点

硬件可信计算环境 计算困难性理论 对比

首批可信开源项目评估结果正式发布!