在使用pip安裝Python軟體包時,有時會遇到與 SSL/TLS 相關的問題。一種常見情況是在使用VPN時出現以下錯誤信息 ValueError: check_hostname requires server_hostname: ValueError: check_hostname require ...
在使用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