pip 安装出现报错 SSLError(SSLError(“bad handshake

即使设置了清华源:

bash 复制代码
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

pip 安装包不能配置清华源,出现报错:

Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError("bad handshake: Error(('SSL routines', 'ssl3_get_server_certificate', 'certificate verify failed'),)",),)': /simple/pip/

看起来你正在尝试升级 pip,并已配置索引 URL 以使用清华大学的一个镜像。然而,在升级过程中,你遇到了一个 SSL 错误。这种错误通常发生在 SSL 证书验证出现问题时。

以下是一些建议,希望能解决这个问题:

  1. 更新 CA 证书:

    • 确保你的系统上的 CA 证书是最新的。通常可以通过安装 ca-certificates 软件包来实现。在 Ubuntu 上,你可以运行以下命令:

      bash 复制代码
      sudo apt-get update
      sudo apt-get install ca-certificates
  2. 使用默认索引 URL 升级 pip:

    • 暂时删除或注释掉 pip 配置中的自定义索引 URL,尝试使用默认索引 URL 升级 pip:

      bash 复制代码
      pip config unset global.index-url
      pip install --upgrade pip
  3. 检查系统日期和时间:

    • 确保机器上的系统日期和时间准确。SSL 证书具有到期日期,不准确的系统时间可能会导致 SSL 验证问题。
  4. 验证 SSL/TLS 支持:

    • 确保你的 Python 安装包含 SSL/TLS 支持。你可以运行以下命令进行检查:

      bash 复制代码
      python -c "import ssl; print(ssl.OPENSSL_VERSION)"
    • 如果没有 SSL/TLS 支持,可能需要重新安装带有 SSL 支持的 Python。

  5. 使用不同的镜像:

    • 如果问题仍然存在,考虑使用不同的镜像。可以切换回默认的 PyPI 镜像,运行:

      bash 复制代码
      pip config unset global.index-url
      pip install --upgrade pip
  6. 在虚拟环境中升级 pip:

    • 使用 venv 或 virtualenv 创建一个虚拟环境,然后在该环境中尝试升级 pip。这样可以将 pip 升级与全局系统隔离开来。

尝试这些步骤后,你应该能够顺利升级 pip,而不会遇到 SSL 错误。

相关推荐
墨香幽梦客2 天前
SSL/TLS握手过程全拆解:从ClientHello到Finish的关键步骤与性能优化
网络协议·性能优化·ssl
砚凝霜3 天前
【软考信息安全】第九章 虚拟专用网与IPSec/SSL安全协议技术原理
网络·网络协议·ssl
zxanz13 天前
代码审计中如何高效发现漏洞?
ssl
青春不朽5125 天前
requests 超时、重试、SSL 报错?9 个高频问题与一整张排错对照表
网络·网络协议·ssl
天天进步20155 天前
Caddy 实战:5 分钟给域名开启 HTTPS,自动申请 SSL 证书并反向代理
网络协议·https·ssl
Escalating_xu6 天前
【Python】使用库:标准库、第三方库、pip、项目实战与程序打包
java·python·pip
熊文豪7 天前
KingbaseES 数据加密全解:从 SSL 到全密态
网络·网络协议·ssl
idanzk7 天前
Git 推送 GitHub 报 SSL_READ /src refspec main 不匹配 完整踩坑记录
git·github·ssl
青春不朽5128 天前
pip 安装慢、超时、报错?一份国内源配置 + 9 个高频报错对照表
pip
javaDocker8 天前
16.5 小时,我打掉了两只「SSL 握手失败」的怪
网络·网络协议·ssl