前阵子有个一起学习python的小伙伴在使用pip安装包的时候出现了报错ValueError: check_hostname requires server_hostname
。那么为什么会出现这个报错呢?如何解决这个报错呢?接下来就让小编来教你如何解决这个pip报错。
报错代码
解决方案
在网上流传着两种解决方案,小编这里记录下,如果一种方案不行的话可以尝试另一种:
检查你的包版本
小编翻遍了相关问题的很多解决方案,大部分都是说这个包版本有问题,需要降版本安装,也有一些小伙伴降版本安装后就解决了,但小编觉得这个方案并不是正确的方案,只能说可能有其他错误碰巧也报这个错误代码,然后碰巧可以解决吧?
检查你的代理
有部分用户说可能是代理有问题,关闭代理即可。小编的小伙伴尝试了这个方法后就可以运行了,这应该是正确的方法。
其实由报错的内容就可以知道,pip要求你检查你的host name,那就是你的主机地址有问题或者访问地址有问题。
分析
出现这个错误的原因是使用了代理,由于总所周知的原因,有些外网需要一些特殊手段才能访问,而要访问这些网站就需要使用代理,小编的小伙伴当时就是代理没有关掉,所以在pip的时候才会报错。
为什么使用代理会出现这样的错误呢,小编找到了蛛丝马迹:pip的较新的版本有这样的一个要求,就是标记对pip仓库的信任,或者使用https进行数据传输(类似的问题小编在学习linux的时候也遇到过)。而使用代理会导致pip认为你请求的仓库不是安全的,所以安装失败,所以解决方法就是关闭代理,或者在代理中设置相关内容(触及小编知识盲区,小伙伴们可以去看看其他小编有没有介绍代理使用的)。
小结
以上就是pip报错ValueError: check_hostname requires server_hostname
的解决方案,更多pip使用上的问题可以关注W3Cschool。