CentOS系统下升级Python的openssl过程记录

这篇具有很好参考价值的文章主要介绍了CentOS系统下升级Python的openssl过程记录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题:运行一个软件提示openssl版本过低。报错:“ImportError: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘OpenSSL 1.0.2k-fips 26 Jan 2017’. See: https://github.com/urllib3/urllib3/issues/2168”
CentOS系统下升级Python的openssl过程记录,centos,python,linux
尝试解决1:通过ChatGPT提问获得解决办法
既然你使用的是 CentOS 系统,我们将重点讨论在这个环境下如何解决 ImportError: urllib3 v2 only supports OpenSSL 1.1.1+ 的问题。

请按照以下步骤操作:

  1. 检查当前 OpenSSL 版本:
    打开终端,并输入以下命令来检查当前系统上的 OpenSSL 版本:

    openssl version
    

    如果你的版本是 OpenSSL 1.1.1 或更新版本,那么问题可能在其他地方。如果版本是 1.0.2 或更低,你需要继续更新它。

  2. 升级 OpenSSL 版本:
    对于 CentOS 7,比较简单的方法是启用 EPEL (Extra Packages for Enterprise Linux) 仓库,然后安装 OpenSSL 1.1.1。以下是相关命令:

    sudo yum install epel-release
    sudo yum update
    sudo yum install openssl11
    

    对于 CentOS 8,EPEL 仓库应该默认包含 OpenSSL 1.1.1。运行 sudo yum update 应该会安装更新。

  3. 确认 Python 使用的 OpenSSL 版本:
    更新 OpenSSL 后,确保 Python 正确链接了新版本的 OpenSSL。如果没有,可能需要重新编译 Python,这样才能使用更新的库。

    若要验证 Python 正确使用新的 OpenSSL 版本,你可以在 Python 环境中执行以下命令:

    import ssl
    print(ssl.OPENSSL_VERSION)
    

    加入你这么做了,而输出的版本仍旧不是 1.1.1 或以上,这意味着你可能需要重新编译 Python 来链接到更新的 OpenSSL 版本。

  4. 重新编译 Python(如果必要):
    如果 Python 使用的仍是旧版 OpenSSL,你可能需要重新编译 Python。确保在编译 Python 之前已经安装了新版本的 OpenSSL。根据你使用的 Python 版本,下载相应的源代码并重新编译安装。例如:

    sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel
    wget https://www.python.org/ftp/python/3.x.x/Python-3.x.x.tgz
    tar xzf Python-3.x.x.tgz
    cd Python-3.x.x
    ./configure --with-openssl=/usr/local/ssl --enable-optimizations
    make altinstall
    

    替换 3.x.x 为具体的 Python 版本号,并检查 --with-openssl 参数指向的路径是否为新版 OpenSSL 的安装路径。

请注意,在对系统进行重大更改之前,应仔细检查要进行的操作,并在可能的情况下,在测试环境中验证更改。如果涉及重要服务,请确保备份所有必要的数据。

由于我无法直接访问你的系统,你需要在系统上执行上述步骤。如果你在执行这些步骤时需要帮助,请随时询问。
解决结果:查看系统openssl
CentOS系统下升级Python的openssl过程记录,centos,python,linux
但是Python检测ssl版本CentOS系统下升级Python的openssl过程记录,centos,python,linux

CentOS系统下升级Python的openssl过程记录,centos,python,linux
尝试卸载重装openssl,python导入的ssl版本还是不变。
最后成功解决办法:重新编译Python。
在Python中编译时确保找到正确版本的OpenSSL库涉及以下步骤:

  1. 安装OpenSSL库
    确保在系统中安装了所需版本的OpenSSL库。可以使用系统包管理器(如aptyumbrew等)或从源代码编译安装。

  2. 设置环境变量
    编译Python之前,需要设置环境变量来指示编译器和链接器OpenSSL库的位置,特别是LD_LIBRARY_PATH(Linux)、DYLD_LIBRARY_PATH(Mac)以及CFLAGSLDFLAGS用于指明头文件和库文件的路径。

    export LDFLAGS="-L/path/to/openssl/lib"
    export CFLAGS="-I/path/to/openssl/include"
    export LD_LIBRARY_PATH="/path/to/openssl/lib:$LD_LIBRARY_PATH"
    

    注意用实际OpenSSL库安装位置替换/path/to/openssl

  3. 使用configure脚本
    当编译Python源代码时,使用configure脚本并传入正确的参数来令它识别OpenSSL的路径。

    ./configure --with-openssl=/path/to/openssl
    make
    make test  # optional, to run tests
    sudo make install  # or `make altinstall` to avoid replacing the default python binary
    
  4. 验证
    编译并安装Python后,验证是否正确使用了指定的OpenSSL。

    import ssl
    print(ssl.OPENSSL_VERSION)
    

请注意,指定的路径应该指向OpenSSL库的安装目录,该路径应该包含库文件(.so.dylib.dll)和头文件(通常在include目录下)。

如果以上不起作用,考虑以下额外的步骤和注意事项:

  • 确保没有版本冲突,检查系统中是否有多个OpenSSL版本,并确保PATH环境变量首先指向正确版本的bin目录。
  • 检查Python编译日志来确认编译过程中使用的是正确的OpenSSL路径。
  • 在某些系统上,如果编译器和链接器不遵循LD_LIBRARY_PATH,你可能需要调整/etc/ld.so.conf文件或运行ldconfig

最后,操作系统、编译器和链接器可能会有不同的配置方法,所以请参考具体系统和工具的文档以获取最准确的信息。

我的环境变量是:
export LDFLAGS=“-L/usr/local/lib”
export CFLAGS=“-I/usr/local/include”
export LD_LIBRARY_PATH=“/usr/local/lib:$LD_LIBRARY_PATH”

export LIBRARY_PATH=“/usr/local/lib:$LIBRARY_PATH”
配置环境变量的方法自行百度。文章来源地址https://www.toymoban.com/news/detail-795600.html

到了这里,关于CentOS系统下升级Python的openssl过程记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • centos7.9 openssl升级

    软件下载 依赖安装 编译安装 更新系统库 备份并软连接至新版本 查看当前版本

    2024年02月11日
    浏览(42)
  • Centos7升级openssl到openssl1.1.1

    升级步骤 #1、更新所有现有的软件包列表并安装最新的软件包: $sudo yum update #2、接下来,我们需要从源代码编译和构建OpenSSL 1.1.1版本。首先,安装必要的开发工具和依赖项: $sudo yum groupinstall \\\"Development Tools\\\" #3、下载OpenSSL 1.1.1的源代码文件。使用wget命令下载: $wget https://

    2024年01月24日
    浏览(44)
  • CentOS7中升级OpenSSL详细教程

    OpenSSL : 是用于保护数据安全的重要工具。它能提供加密,解密等多项功能。 然而,随着技术的发展和新的安全漏洞的出现,使用最新版本的 OpenSSL 成为了重要的需求。 想了解更多可进入官网:https://www.openssl.org/ 有些较新的应用只能安装在openssl3上,所以不更换centos7只能升级

    2024年02月03日
    浏览(50)
  • CentOS 升级 OpenSSL 至最新版教程

    默认的 OpenSSL 版本: 提示如下: 下载地址:https://www.openssl.org/source/old/ 我选择的是:openssl-1.1.1l.tar.gz 命令如下: 这时查看 OpenSSL 版本会报错: 错误如下: 执行以下命令可以解决上面的错误: 在Ubuntu也更新OpenSSL,命令有些不一样: 提示如下: 至此,成功在 CentOS 上更新了

    2024年02月08日
    浏览(63)
  • CentOS 7 升级至openssl-3.2.0

            OpenSSL 1.1.1 版本将在 2023 年 9 月 11 日停止支持,建议大家尽快升级到 OpenSSL 3+ 版本,以享受最新的安全保护和功能增强。以下是升级说明。 1、 依赖下载 2、下载安装包 openssl官网:https://www.openssl.org/source/ 3、 备份原来openssl 4、编译安装openssl3.2.0 执行结果: 执行

    2024年01月17日
    浏览(39)
  • CentOS升级python

    1、下载python39 2、拷贝到Linux环境(当然也可以直接在Linux环境使用wget直接下载) 先安装一下依赖,不然编译会有问题 3、安装 配置安装路径 编译并安装 添加软链接 验证

    2024年02月22日
    浏览(30)
  • 手把手教你在 CentOS 7 下升级 OpenSSL

      这篇文章记录着如何在 CentOS 7 上升级 OpenSSL。会逐步介绍所需步骤,包括备份,下载和安装,以及配置等。 OpenSSL 是用于保护数据安全的重要工具。它能提供加密,解密等多项功能。然而,随着技术的发展和新的安全漏洞的出现,使用最新版本的 OpenSSL 成为了重要的需求

    2024年02月16日
    浏览(67)
  • 再写CentOS7升级OpenSSL-1.0.1U

    本文在CentOS7.4以及TencentOS 2.4上测试通过。 原系统自带OpenSSL 1.0.2k-fips。 编译安装方法跟之前的没啥区别。 从官网下载1.0.1u版https://www.openssl.org/source/ 使用tar解包 tar xfz openssl-1.0.1u.tar.gz 依次执行如下: cd openssl-1.0.1u ./config shared zlib make make install 以上执行完毕,开始修改配置。

    2024年02月11日
    浏览(41)
  • 如何在CentOS 7 中基于OpenSSL 3.0 搭建Python 3.0 环境

    视频教程:https://www.bilibili.com/video/BV1qc411s7zA/?spm_id_from=333.999.0.0 1、OpenSSL 1.1 原因 通过执行openssl version可知Linux系统已经安装了OpenSSL,但该版本较低;Python 3 要求 OpenSSL版本不能低于1.1.1,否则安装Python3时提示如下信息: 1.2 依赖 原因: ①、下面下载的openssl-3.2.0.tar.gz和Pytho

    2024年01月19日
    浏览(31)
  • 如何在CentOS 7 中基于OpenSSL 1.0 搭建Python 3.0 环境

    视频教程:https://www.bilibili.com/video/BV1Qe411y7Ca/?spm_id_from=333.999.0.0 1、下载 通过https://www.python.org/ftp/python/下载Python安装包,这里下载Python-3.10.9.tgz; 2、上传 借助MobaXterm等工具将Python安装包上传至/opt目录; 3、解压 将JDK压缩文件解压至/opt目录:tar -xvf /opt/Python-3.10.9.tgz -C /opt 4、

    2024年01月20日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包