pip代理问题–ValueError: check_hostname requires server_hostname

https://blog.csdn.net/qq_37831952/article/details/117885136

Windows上pip开代理后安装包时出现以上错误,主要原因是因为requests底层的代码是通过读取环境变量或者注册表来获得配置信息。而在windows是pip读取注册表代理配置会出错。底层的源码截图如下,getproxies_environment() or getproxies_registry() 两个方法对于两种着读取代理的方式

在这里插入图片描述

解决办法: pip读取注册表出错,所以通过读取环境变量的方式来读取代理信息,只需在环境变量上加入以下配置即可。

window上运行以下指令或收到配置环境变量即可

[Environment]::SetEnvironmentVariable("HTTP_PROXY", "http://127.0.0.1:7890", 'User')
[Environment]::SetEnvironmentVariable("HTTPS_PROXY", "http://127.0.0.1:7890", 'User')

 

结果如下
在这里插入图片描述

通过以上设置即可在开代理的情况下pip install。

另外Windows上pip换源的方法是:

在C:\User\用户目录下,新建pip文件夹,然后在该文件夹下新建pip.ini文件。填写如下内容:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=pypi.tuna.tsinghua.edu.cn

  

若开了vpn代理,以上配置可以不用加,pip安装直接走代理;加了以上配置pip安装会采用换源的方法。

posted @ 2021-09-03 13:45  CeasonCing  阅读(660)  评论(0编辑  收藏  举报