国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【日常踩坑】解決 pip 安裝第三方包時因 SSL 報錯

這篇具有很好參考價值的文章主要介紹了【日常踩坑】解決 pip 安裝第三方包時因 SSL 報錯。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

踩坑

好久沒用 python,最近重新下載安裝好 python 后發(fā)現(xiàn)用 pip 安裝第三方包一直失敗。經(jīng)過一番折騰發(fā)現(xiàn),如果報錯信息符合下面兩種,一般都是因為網(wǎng)絡(luò)連接時 SSL 認(rèn)證失敗導(dǎo)致的

  1. check_hostname requires server_hostname

    raise ValueError("check_hostname requires server_hostname")
    ValueError: check_hostname requires server_hostname

  2. EOF occurred in violation of protocol

    Could not fetch URL https://pypi.org/simple/xxx/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/xxx/ (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:997)'))) - skipping

什么是 SSL ?

傳輸層安全性協(xié)議(英語:Transport Layer Security,TLS)及其前身安全套接層(英語:Secure Sockets Layer,SSL)是現(xiàn)在的 HTTPS 協(xié)議中的一種安全協(xié)議,目的是為互聯(lián)網(wǎng)通信提供安全及數(shù)據(jù)完整性保障

而較新版本的 python 內(nèi)置的 pip 以及用于網(wǎng)絡(luò)請求的 requestsurllib3 包也較新,并且會使用 HTTPS 協(xié)議來下載新的軟件包

為什么會報錯

根據(jù)報錯信息可以發(fā)現(xiàn)錯誤的根源就在于 SSL,也就是沒有通過該安全協(xié)議的認(rèn)證,通常是由于開啟了網(wǎng)絡(luò)代理、VPN 或者網(wǎng)絡(luò)抓包等軟件的導(dǎo)致的

解決辦法

1. 臨時關(guān)閉代理、VPN 或者網(wǎng)絡(luò)抓包等軟件

最推薦的辦法是臨時關(guān)閉代理、VPN 或者網(wǎng)絡(luò)抓包等軟件,但是如果關(guān)閉后下載速度過慢可以嘗試后面兩種解決辦法

2. 通過鏡像的 HTTP 源來避免 SSL 認(rèn)證問題

由于是 SSL 是 HTTPS 協(xié)議需要的,因此我們可以切換至 HTTP 的鏡像站來進(jìn)行安裝下載

HTTPS 現(xiàn)在已經(jīng)比較普及,有不少鏡像源也早已經(jīng)切換至 HTTPS 協(xié)議,但部分鏡像源在支持 HTTPS 協(xié)議的而同時也還支持 HTTP 協(xié)議,下面簡單羅列幾個 pip 鏡像源

# 清華,僅支持 HTTPS
https://pypi.tuna.tsinghua.edu.cn/simple/

# 阿里,HTTP 和 HTTPS 均支持
http://mirrors.aliyun.com/pypi/simple/
https://mirrors.aliyun.com/pypi/simple/

# 豆瓣,HTTP 和 HTTPS 均支持
http://pypi.doubanio.com/simple/
https://pypi.doubanio.com/simple/

安裝時第三方包時可以參考如下命令:

pip install xxx-package -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
pip install xxx-package -i http://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com

如果想永久使用鏡像站,則需要修改配置文件,以 Linux 為例:

vim ~/.pip/pip.conf

修改文件內(nèi)容如下

[global]
index-url = http://mirrors.aliyun.com/pypi/simple/

[install]
trusted-host = mirrors.aliyun.com

3. 切換至低版本 pip

經(jīng)過測試,當(dāng) pip 版本高于 20.3 后才會出現(xiàn)此錯誤,因此我們可以手動將 pip 版本降級至 20.2.4 或者 20.3b1 等較低版本即可

python -m pip install pip==20.2.4 -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
python -m pip install pip==20.2.4 -i http://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com

參考資料

  • 【阿里云】PyPI 鏡像
  • 【CSDN】python pip 的安裝、更新、卸載、降級、和使用 pip 管理包
  • 【CSDN】修改 pip 配置文件路徑、更改 pip 源、使用 pip 安裝已經(jīng)下載的 whl 文件

本文作者: ywang_wnlo
本文鏈接: https://ywang-wnlo.github.io/posts/2e7aa01a/
版權(quán)聲明: 本博客所有文章除特別聲明外,均采用 BY-NC-SA 許可協(xié)議。轉(zhuǎn)載請注明出處!文章來源地址http://www.zghlxwxcb.cn/news/detail-411377.html

到了這里,關(guān)于【日常踩坑】解決 pip 安裝第三方包時因 SSL 報錯的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包