pip.conf没注意trust-host

时间:2017-07-26 20:42:16

标签: python pip pypi

我的pip.conf文件如下:

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

但是,每当我尝试从私有pypi repo安装软件包(只是一个测试包)时,我都会收到一条错误消息,指示我添加--trusted-host <private IP>。如果我这样做,我可以成功安装该软件包,因此我知道pip正在阅读pip.conf文件。为什么不尊重trusted-host配置?我已经三次检查配置文件中的IP匹配。

谷歌的一些博客和粗略搜索似乎表明应该这样做。 (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/

4 个答案:

答案 0 :(得分:3)

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

配置文件的名称和位置在不同平台上略有不同。您可以拥有per-user,per-virtualenv或站点范围(在所有用户之间共享)配置。

  • 在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 < / em>的

答案 1 :(得分:2)

将我的pip.conf从$ HOME / .pip / pip.conf复制到/etc/pip.conf并且有效!

答案 2 :(得分:1)

要检查正在运行的配置文件:pip config --editor pathtoeditorofyourchoice edit,这将打开链接的ini文件。如果不存在该文件,则编辑器(notepad ++)会指出在特定路径<-上没有文件,然后您应该在其中放置文件。

也请考虑此处所述(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.

答案 3 :(得分:0)

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

python -m pip install --upgrade pip