You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Anaconda环境下用boto3访问S3遇SSL证书验证失败求助

解决Anaconda环境下boto3 SSL证书验证失败问题

针对你升级requests库后出现的CERTIFICATE_VERIFY_FAILED错误,以下是几个可行的解决办法:

1. 重新安装/更新Anaconda的certifi证书库

certifi是Python环境中管理SSL证书的核心库,升级requests可能破坏了它的关联:

  • 激活base环境后执行:
    conda install --force-reinstall certifi
    
  • 若无效,尝试更新到最新版:
    conda update certifi
    

2. 手动指定证书路径给boto3

强制让boto3使用certifi提供的证书文件:

  • 先获取certifi证书的路径,在Python交互环境中执行:
    import certifi
    print(certifi.where())
    
    会输出类似/your/anaconda/path/envs/base/lib/python3.9/site-packages/certifi/cacert.pem的路径。
  • 修改boto3初始化代码,添加verify参数:
    import boto3
    import certifi
    client = boto3.client('s3', verify=certifi.where())
    response = client.get_object(Bucket='bucketname', Key='hai')
    
    注:建议将Key='/hai'改为Key='hai',避免生成带双斜杠的请求路径

3. 通过环境变量全局指定证书

无需修改代码,直接在终端设置环境变量后运行脚本:

conda activate base
export AWS_CA_BUNDLE=$(python -c "import certifi; print(certifi.where())")
# 再运行你的Python脚本

如果需要永久生效,可以把export命令添加到你的shell配置文件(如~/.bashrc或~/.zshrc)中。

4. 降级requests到兼容版本

若升级requests是问题根源,可尝试降级到之前能正常运行的版本:

  • 先查看当前安装的版本:
    conda list requests
    
  • 降级到指定版本(示例为2.28.1,根据你之前的版本调整):
    conda install requests=2.28.1
    

内容的提问来源于stack exchange,提问作者jebaseelan ravi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 18:01:15