当前位置: 首页 > news >正文

SSL: CERTIFICATE_VERIFY_FAILED Error in Python 是什么问题?

在这里插入图片描述

在最新版本的Stable Diffusion webui 版本上使用最新下载的模型时,出现了类似的错误。
SSL: CERTIFICATE_VERIFY_FAILED 错误在Python中通常表示你的程序试图通过HTTPS连接到某个服务器,但Python无法验证该服务器提供的SSL证书。这可能是因为以下几种原因之一:

  1. 系统缺少CA证书:这是最常见的原因,特别是在某些操作系统(如macOS)上,默认安装的Python版本可能没有包含最新的或任何的CA证书包。你可以通过安装certifi库来解决这个问题,它提供了一个最新的CA证书集合。

  2. 自签名证书或不受信任的证书:如果你正在尝试连接的服务使用的是自签名证书或者是从一个不受信任的CA签发的证书,Python默认会拒绝建立连接。

  3. 网络问题:有时,中间人攻击或者网络配置问题也可能导致这个错误。例如,某些公司网络可能会进行SSL拦截,这会导致证书验证失败。

解决方案

  • 如果问题是由于缺少CA证书引起的,可以通过安装certifi并确保你的Python环境正确地使用这些证书来解决。运行pip install certifi安装包。

    在代码中,你也可以明确指定使用certifi提供的证书:

    import ssl
    import certifi
    
    context = ssl.create_default_context(cafile=certifi.where())
    # 然后将这个context用于你的HTTPS连接
    
  • 如果你需要与使用自签名证书的服务器通信,可以在创建请求时忽略证书验证(不推荐在生产环境中这样做,因为这会使你的连接容易受到中间人攻击):

    import urllib.request
    
    # 忽略证书验证
    ctx = ssl.create_default_context()
    ctx.check_hostname = False
    ctx.verify_mode = ssl.CERT_NONE
    
    response = urllib.request.urlopen('https://your-url.com', context=ctx)
    
  • 对于企业级应用,如果遇到SSL拦截的问题,可能需要联系IT部门获取正确的CA证书,并将其添加到你的系统或Python环境的信任存储中。

确保根据你的具体情况选择合适的解决方案。如果不确定具体原因,可以逐步排查上述可能性。

在解决这个问题上猜测是MACOS版本的Python3.10中缺少了部分认证

通过进入Stable Diffusion的虚拟环境中进行安装

source ./venv/bin/active
pip install certify

有的时候存在无法安装

ERROR: Could not find a version that satisfies the requirement certify (from versions: none)

这种情况下采用以下方式

/Applications/Python\ 3.10/Install\ Certificates.command

运行命令后,重启Stable Diffusion ,再次使用新模型,问题解决。

/Applications/Python 3.10/Install Certificates.command 是一个针对macOS用户的脚本,主要用于安装或更新Python 3.10发行版中的SSL证书。这个脚本特别有用,因为在某些操作系统上(尤其是macOS),默认情况下可能缺少必要的CA证书来验证HTTPS连接的SSL证书,这会导致如SSL: CERTIFICATE_VERIFY_FAILED这样的错误。

这个脚本的作用

  • 安装证书:它会自动安装最新的CA证书到你的Python环境中,使得你可以通过HTTPS安全地访问外部资源。
  • 解决常见问题:主要是为了解决由于缺少CA证书而导致的SSL证书验证失败的问题。

###手动如何运行

  1. 找到脚本:在Finder中打开“应用程序”文件夹,然后进入“Python 3.10”文件夹。你会看到名为Install Certificates.command的文件。

  2. 运行脚本

    • 可以直接双击该脚本运行。
    • 或者,在终端中执行以下命令来手动运行它:
      /Applications/Python\ 3.10/Install\ Certificates.command
      
      注意这里的反斜杠 \ 是用来转义空格的,确保路径正确无误。

脚本内容解析

虽然你不需要修改这个脚本,但了解它的基本功能是有帮助的。通常,这个脚本会:

  • 使用certifi库来获取最新的一组可信的CA证书。
  • 将这些证书配置给你的Python环境,以便所有使用标准库http.clienturllib.request等进行HTTPS请求时都能正确验证SSL证书。

运行这个脚本是解决由于缺少适当CA证书导致的SSL验证问题的一种简单方法。对于使用Python进行网络编程、数据抓取或其他需要HTTPS连接操作的人来说,这是一个非常有用的工具。如果你已经遇到了SSL: CERTIFICATE_VERIFY_FAILED错误,尝试运行这个脚本来解决问题是一个不错的起点。如果问题仍然存在,可能需要进一步检查你的网络设置或联系系统管理员。

相关文章:

  • AES/CBC/PKCS5Padding加密
  • A-LOAM工程笔记(一):工程编译及运行(ubuntu20.04 + ros_noetic)
  • Week3_250303~250309_OI日志(待完善)
  • python学习第四天
  • 3.1 ARM体系结构
  • 【Linux 下Web(Apache/Nginx)入口安全事件及日志溯源流程】
  • 32.C++二叉树进阶1(二叉搜索树)
  • idea实现热部署
  • Leetcode 3469. Find Minimum Cost to Remove Array Elements
  • 在线量化算法(QAT) --学习记录2
  • FastGPT 引申:信息抽取到知识图谱的衔接流程
  • 播放器系列3——解码
  • VLM-E2E:通过多模态驾驶员注意融合增强端到端自动驾驶
  • 如何基于VBA在word中嵌入AI模型实现实时问答(SiliconflowDeepSeek)
  • 编译可以在Android手机上运行的ffmpeg程序
  • nginx accesslog 打印自定义header
  • 厦门大学第3弹:DeepSeek大模型及其企业应用实践(150页PPT,企业人员的大模型宝典)
  • 21.<基于Spring图书管理系统②(图书列表+删除图书+更改图书)(非强制登录版本完结)>
  • 历年湖南大学计算机复试上机真题
  • 【AI Guide】AI面试攻略只用看这一篇就够了!力争做全网最全的AI面试攻略——大模型(二十六)词表与词表扩充
  • 民宿网站建设问卷调查/百度sem运营
  • 做网站网站加载内容慢怎么解决/搜索引擎有哪些好用
  • 网站分析怎么写/怎样弄一个自己的平台
  • 网站的空间是/免费十八种禁用网站
  • 建设部网站工程设计收费标准/百度云在线登录
  • 打开部分网站很慢/google永久免费的服务器