python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python安装提示SSL证书错误

Python安装提示SSL证书错误的解决办法

作者:普通网友

这篇文章主要介绍了Python安装提示“SSL证书错误”的解决办法,包括更新系统CA证书、使用certifi包提供的证书、完全禁用SSL验证等方法,感兴趣的可以了解一下

在使用 Python 进行网络请求或安装第三方库时,你可能会遇到“SSL证书错误”。这通常是因为 Python 无法验证服务器的 SSL 证书,可能是由于本地证书配置不正确或缺失。以下是一些常见原因和解决方法:

一、更新系统 CA 证书

1.macOS

Python 安装程序(特别是从 python.org 下载的版本)通常会包含一个脚本来安装 certifi 包提供的根证书。

2.Linux

尝试更新系统的 CA 证书:

二、使用certifi包提供的证书

certifi 是一个 Python 包,它提供了最新的 Mozilla 受信任 CA 证书包。

1.安装certifi

pip install --upgrade certifi

2.修改 Python 脚本

在你的 Python 脚本中,在 torch.hub.load 之前加入以下代码:

import ssl
import certifi
import os

# 设置 SSL 使用 certifi 提供的证书路径
os.environ['SSL_CERT_FILE'] = certifi.where()
os.environ['REQUESTS_CA_BUNDLE'] = certifi.where()  # 如果有使用 requests 库

# 尝试修改默认的 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("将回退到可能未经验证的 context(安全性较低)。")

三、完全禁用 SSL 验证(不推荐,有安全风险)

警告:这个方法会让你的 Python 程序在进行所有 HTTPS 连接时都不验证服务器证书,这会让你容易受到中间人攻击。只应在完全了解风险且无法使用前两种方法时,或在受信任的内部网络环境中临时使用。

在你的脚本开头(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 证书验证。这是不安全的。")

四、总结

优先尝试以下方法解决“SSL证书错误”:

  1. 更新系统 CA 证书:执行 Install Certificates.command(macOS)或更新系统 CA 证书(Linux)。
  2. 使用 certifi 包提供的证书:安装 certifi 并配置 SSL context 使用 certifi 提供的证书。
  3. 最后手段(不推荐):完全禁用 SSL 验证,但务必了解其安全风险。

希望这些方法能帮助你解决 Python 安装时的“SSL证书错误”。如果问题仍然存在,建议检查网络环境或联系 Python 社区寻求帮助。

到此这篇关于Python安装提示“SSL证书错误”的解决办法的文章就介绍到这了,更多相关Python安装提示“SSL证书错误内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文