解决python 使用pip 安装模块时遇到的错误SSL: CERTIFICATE_VERIFY_FAILED

最近有一个使用python 2.7.* 使用requests模块的需求,在安装的过程中遇到了一个问题,在这里分享给大家!

安装requests命令如下

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests

遗憾的是,报错了

Collecting requests
  Could not fetch URL https://pypi.tuna.tsinghua.edu.cn/simple/requests/: There was a problem confirming the ssl certificate: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661) - skipping
  Could not find a version that satisfies the requirement requests (from versions: )
No matching distribution found for requests

之前一直使用python3,从来没有遇到过这个问题,于是在网上查找答案说是python3 与python2的ssl策略有差异所致,使用参数 —trusted-host 即可

—trusted-host:将某个 host 或者 host:port 标记为可信赖的。即使它没有有效的 HTTPS 或任何 HTTPs,pip 也会接受它的证书。

最后运行命令

pip install  --trusted-host pypi.tuna.tsinghua.edu.cn -i https://pypi.tuna.tsinghua.edu.cn/simple requests

requests 模块成功安装!!!

我的每一篇文章都希望帮助读者解决实际工作中遇到的问题!如果文章帮到了您,劳烦点赞、收藏、转发!您的鼓励是我不断更新文章最大的动力!

### 解决 Windows 下 pip 遇到 SSL 证书验证失败的问题 当在 Windows 上使用 `pip` 安装 Python,如果遇到 `SSL CERTIFICATE_VERIFY_FAILED` 错误,通常是因为 pip 无法找到有效的 CA (Certificate Authority) 证书来验证服务器的身份。这可能是由于系统缺少更新的根证书或网络配置问题。 #### 方法一:安装最新版本的 `certifi` Python 的 `requests` 库依赖于 `certifi` 来提供默认的信任库。通过升级 `certifi` 可以确保拥有最新的受信任CA列表: ```bash python -m pip install --upgrade certifi ``` 此命令会下载并安装最新版的 `certifi`,从而可能修复因过期或缺失的根证书引起的 SSL 认证失败[^1]。 #### 方法二:指定自定义的 CA Bundle 文件路径 有即使有了最新的 `certifi`,仍然可能会碰到某些特殊环境下的认证问题。这可以尝试手动指定期望使用的 CA bundle 文件位置: ```bash pip install somepackage --cert path\to\cacert.pem ``` 这里的 `path\to\cacert.pem` 是指向一个包含所需全部中间件和根证书的PEM格式文件的位置。对于大多数情况来说,可以直接使用由 `certifi` 提供的那个文件作为参数传递给 `--cert` 参数[^2]。 #### 方法三:禁用 SSL 验证(仅限开发测试) 虽然不推荐这样做,但在某些情况下为了快速解决问题可以选择暂关闭 SSL 验证。请注意,在生产环境中绝对不应该这么做! ```bash pip install package_name --trusted-host pypi.org --trusted-host files.pythonhosted.org ``` 上述命令告诉 pip 不要对指定主机执行 SSL/TLS 验证,但这会使连接变得不再安全,并可能导致中间人攻击的风险增加[^3]。 #### 方法四:调整系统的日期间设置 错误间也可能引发 SSL 握手过程中的校验异常。因此确认计算机当前间和日期是否正确非常重要。可以通过如下方式修改系统间为标准协调世界(UTC): ```cmd date MMddyyHHmm ``` 例如将间设为 2024 年 11 月 21 日下午 4 点整,则输入 `date 1121241600` 即可。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

测试开发Kevin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值