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安装会采用换源的方法。