【Bug】 [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed

当你在进行深度学习相关操作时,若因缺少本地的 CA 证书而无法下载资源,下面为你介绍几种解决办法:

方法一:更新 CA 证书

在大多数 Linux 发行版中,你可以使用包管理器来更新 CA 证书。例如,在基于 Debian 或 Ubuntu 的系统中,你可以运行以下命令:

bash 复制代码
sudo apt-get update
sudo apt-get install --reinstall ca-certificates

在基于 Red Hat 或 CentOS 的系统中,你可以使用以下命令:

bash 复制代码
sudo yum update ca-certificates

方法二:指定 CA 证书路径

在某些深度学习框架或工具中,你可以通过设置环境变量来指定 CA 证书的路径。例如,在 Python 中使用 requests 库时,可以通过设置 REQUESTS_CA_BUNDLE 环境变量来指定 CA 证书的路径:

python 复制代码
import os
import requests

os.environ['REQUESTS_CA_BUNDLE'] = '/path/to/your/cacert.pem'

response = requests.get('https://example.com')
print(response.text)

方法三:临时忽略 SSL 验证(不推荐用于生产环境)

在测试或开发环境中,你可以临时忽略 SSL 验证。但需要注意的是,这种方法存在安全风险,不建议在生产环境中使用。

在 Python 的 requests 库中,可以通过设置 verify=False 来忽略 SSL 验证:

python 复制代码
import requests

response = requests.get('https://example.com', verify=False)
print(response.text)

方法四:手动下载 CA 证书

你可以从 Mozilla 的官方仓库手动下载 CA 证书:

bash 复制代码
wget https://curl.se/ca/cacert.pem

然后将下载的 cacert.pem 文件放置在合适的位置,并按照方法二的步骤指定证书路径。

你可以依据自身的具体状况,选择合适的解决办法。

相关推荐
程序员祥云2 小时前
https相比http的区别
网络协议·http·https
熙客3 小时前
应用层协议:HTTPS
网络协议·https
2501_915106325 小时前
Flutter、React Native 项目如何搞定 iOS 上架?从构建 IPA 到上传 App Store 的实战流程全解析
websocket·网络协议·tcp/ip·http·网络安全·https·udp
snetlogon207 小时前
JDK17 Http Request 异步处理 源码刨析
android·网络协议·http
chao_7897 小时前
针对“仅某个地区出现Bug”的原因分析与解决方案
测试用例·bug
帅帅哥的兜兜7 小时前
Bug问题
bug
养意8 小时前
git提交代码和解决冲突修复bug
git·bug
还有几根头发呀9 小时前
UDP 与 TCP 调用接口的差异:面试高频问题解析与实战总结
网络·网络协议·tcp/ip·面试·udp
秋水丶秋水10 小时前
SSL安全证书怎么安装?
网络协议·http·https
工控小楠16 小时前
DeviceNet转Modbus TCP网关的远程遥控接收端连接研究
网络·网络协议·devicenet·profient