Python安裝提示SSL證書錯誤的解決辦法
在使用 Python 進(jìn)行網(wǎng)絡(luò)請求或安裝第三方庫時,你可能會遇到“SSL證書錯誤”。這通常是因為 Python 無法驗證服務(wù)器的 SSL 證書,可能是由于本地證書配置不正確或缺失。以下是一些常見原因和解決方法:
一、更新系統(tǒng) CA 證書
1.macOS
Python 安裝程序(特別是從 python.org 下載的版本)通常會包含一個腳本來安裝 certifi 包提供的根證書。
- 找到 Python 應(yīng)用程序文件夾:通常在
/Applications/Python 3.x/(版本號可能不同)。 - 執(zhí)行安裝證書的命令:在該文件夾中找到并雙擊執(zhí)行
Install Certificates.command腳本。 - 重新執(zhí)行你的 Python 腳本:再次執(zhí)行你的代碼。
2.Linux
嘗試更新系統(tǒng)的 CA 證書:
- Debian/Ubuntu:
sudo apt update && sudo apt install ca-certificates - CentOS/Fedora/RHEL:
sudo yum update ca-certificates或sudo dnf update ca-certificates
二、使用certifi包提供的證書
certifi 是一個 Python 包,它提供了最新的 Mozilla 受信任 CA 證書包。
1.安裝certifi
pip install --upgrade certifi
2.修改 Python 腳本
在你的 Python 腳本中,在 torch.hub.load 之前加入以下代碼:
import ssl
import certifi
import os
# 設(shè)置 SSL 使用 certifi 提供的證書路徑
os.environ['SSL_CERT_FILE'] = certifi.where()
os.environ['REQUESTS_CA_BUNDLE'] = certifi.where() # 如果有使用 requests 庫
# 嘗試修改默認(rèn)的 SSL context,讓 urllib 使用 certifi
try:
ssl._create_default_https_context = lambda: ssl.create_default_context(cafile=certifi.where())
print("已成功配置 SSL context 使用 certifi。")
except Exception as e:
print(f"使用 certifi 配置 SSL context 時出錯: {e}")
print("將回退到可能未經(jīng)驗證的 context(安全性較低)。")
三、完全禁用 SSL 驗證(不推薦,有安全風(fēng)險)
警告:這個方法會讓你的 Python 程序在進(jìn)行所有 HTTPS 連接時都不驗證服務(wù)器證書,這會讓你容易受到中間人攻擊。只應(yīng)在完全了解風(fēng)險且無法使用前兩種方法時,或在受信任的內(nèi)部網(wǎng)絡(luò)環(huán)境中臨時使用。
在你的腳本開頭(import torch 之前)加入以下代碼:
import ssl
try:
_create_unverified_https_context = ssl._create_unverified_context
except AttributeError:
pass
else:
ssl._create_default_https_context = _create_unverified_https_context
print("警告:已全局禁用 SSL 證書驗證。這是不安全的。")
四、總結(jié)
優(yōu)先嘗試以下方法解決“SSL證書錯誤”:
- 更新系統(tǒng) CA 證書:執(zhí)行 Install Certificates.command(macOS)或更新系統(tǒng) CA 證書(Linux)。
- 使用 certifi 包提供的證書:安裝 certifi 并配置 SSL context 使用 certifi 提供的證書。
- 最后手段(不推薦):完全禁用 SSL 驗證,但務(wù)必了解其安全風(fēng)險。
希望這些方法能幫助你解決 Python 安裝時的“SSL證書錯誤”。如果問題仍然存在,建議檢查網(wǎng)絡(luò)環(huán)境或聯(lián)系 Python 社區(qū)尋求幫助。
到此這篇關(guān)于Python安裝提示“SSL證書錯誤”的解決辦法的文章就介紹到這了,更多相關(guān)Python安裝提示“SSL證書錯誤內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python?字符串索引取值的實(shí)現(xiàn)示例
本文主要介紹了python?字符串索引取值的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
使用PyQt5+Pandas打造一個表格(Excel/CSV)讀取與處理工具
在日常辦公和數(shù)據(jù)分析中,我們經(jīng)常需要處理各種?Excel?和?CSV?文件,為了提高工作效率,今天我們將手把手教大家使用?PyQt5?和?Pandas?開發(fā)一款圖形化的表格讀取與處理工具,需要的朋友可以參考下2026-03-03

