解决pip install “git+url”时GnuTLS recv error (-110): The TLS connection was non-properly terminated报错

作者:carzy2024.01.17 22:59浏览量:137

简介:在尝试使用pip安装从git仓库的Python包时,可能会遇到GnuTLS recv error (-110)的错误。这个问题通常与TLS握手失败有关,可能是由于Python的OpenSSL依赖项或pip版本过旧。本文将提供解决此问题的步骤,包括更新pip、安装正确版本的OpenSSL依赖项以及配置环境变量。

在Python开发中,我们经常使用pip来安装和管理Python包。有时,当你尝试使用pip install命令安装一个从git仓库的Python包时,可能会遇到GnuTLS recv error (-110)的错误。这个错误通常意味着在尝试建立TLS连接时发生了问题。以下是一些解决此问题的步骤:
步骤1:更新pip
首先,确保你的pip是最新版本。旧版本的pip可能无法正确处理TLS连接。你可以使用以下命令来更新pip:

  1. python -m pip install --upgrade pip

步骤2:安装正确版本的OpenSSL依赖项
GnuTLS是依赖于OpenSSL的,因此需要确保你的系统上安装了正确版本的OpenSSL。你可以使用以下命令来安装OpenSSL:
对于Ubuntu/Debian系统:

  1. sudo apt-get install libssl-dev

对于CentOS/RedHat系统:

  1. sudo yum install openssl-devel

步骤3:配置环境变量
如果你已经安装了正确版本的OpenSSL依赖项,但仍然遇到GnuTLS错误,可能是由于环境变量没有正确配置。你可以尝试设置以下环境变量:

  1. export PYTHONHTTPSVERIFY=0
  2. export PIP_USE_MIRRORS=yes

这些环境变量将禁用Python的HTTPS证书验证,并启用pip使用镜像站点进行下载。请注意,这种方法可能会降低安全性,因此仅作为临时解决方案使用。
总结:解决pip install “git+url”时遇到的GnuTLS recv error (-110)报错需要更新pip版本、安装正确版本的OpenSSL依赖项,并配置环境变量。如果你仍然遇到问题,请检查你的网络连接和防火墙设置,以确保它们不会阻止TLS连接。