在使用pip安装Python软件包时,有时会遇到与 SSL/TLS 相关的问题。一种常见情况是在使用VPN时出现以下错误信息 ValueError: check_hostname requires server_hostname

ValueError: check_hostname requires server_hostname

为了解决这个问题,可以尝试通过在pip install命令中添加–trusted-host选项来临时绕过SSL/TLS证书验证,另外的方法就是关闭代理选项。该选项可告知pip信任特定的主机,即使其存在证书验证问题。

接下来我们来一个一劳永逸的办法,解决问题的第一步是找到pip的配置文件:

  • 在Linux和MacOS上:

    • 全局配置文件位于/etc/pip.conf。
    • 用户特定的配置文件位于~/.config/pip/pip.conf。
  • 在Windows上:

    • 全局配置文件位于%PROGRAMDATA%\pip\pip.ini。
    • 用户特定的配置文件位于%APPDATA%\pip\pip.ini。

接下来,打开配置文件并添加或修改以下内容:

[global]
index-url = http://your-mirror-url/simple
trusted-host = your-mirror-host

在上述配置中,将http://your-mirror-url/simple替换为所需使用的镜像URL。例如,如果想使用腾讯云镜像,可以使用以下配置:

[global]
index-url = http://mirrors.cloud.tencent.com/pypi/simple
trusted-host = mirrors.cloud.tencent.com

需要注意的是,将index-url中的"https"修改为"http",以便绕过SSL/TLS。但是请谨慎使用此选项,因为绕过SSL/TLS证书验证可能会带来安全风险。

现在,当运行pip install <module-name>命令时,它应该能够正确使用指定的镜像并跳过指定主机的SSL/TLS证书验证。如果问题仍未解决,您可以尝试使用其他镜像,或者暂时关闭系统代理(自行百度)来查看是否有帮助。

本文来自博客园,作者:顾平安,转载请注明原文链接:https://www.cnblogs.com/gupingan/p/17909470.html

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。