【阿里云 centos7安装python3.12遇到的坑,openssl】Could not build the ssl module! Python requires a OpenSSL 1.1.1

这篇具有很好参考价值的文章主要介绍了【阿里云 centos7安装python3.12遇到的坑,openssl】Could not build the ssl module! Python requires a OpenSSL 1.1.1。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

基于源码安装python 3.12,执行make出现如下错误

_hashlib              _ssl                  _tkinter           
To find the necessary bits, look in configure.ac and config.log.

Could not build the ssl module!
Python requires a OpenSSL 1.1.1 or newer

Checked 111 modules (31 built-in, 76 shared, 1 n/a on linux-x86_64, 0 disabled, 3 missing, 0 failed on import)

问题大概描述:找不到ssl模块。该问题如果不解决的话,缺少 OpenSSL 模块可能会影响许多涉及网络通信和安全加密的 Python 应用程序和库。例如:ssl,request模块等好多模块都没法使用。所以要要去openssl官网下载安装,再来安装python。

openssl 官网

注意:最新的稳定版本是3.2系列,支持到2025年11月23日。3.1系列支持到2025年3月14日,3.0系列是一个长期支持(LTS)版本,支持到2026年9月7日。所有旧版本(包括1.1.1、1.1.0、1.0.2、1.0.0和0.9.8)现在都不支持,不应该使用。建议这些旧版本的用户尽快升级到3.2或3.0。对1.1.1和1.0.2的扩展支持可以访问这些版本的安全修复程序。

版本推荐

虽然openssl官网推荐最新版本,但是安装python,执行make依然会报错,我建议下载安装python3.12时推荐的openssl 1.1.1版本。

[root@iZwz98v1pircy9j9329rhrZ local]# pwd
/usr/local
[root@iZwz98v1pircy9j9329rhrZ local]# ll
total 60
drwxr-xr-x  8 root root 4096 Apr  4 20:22 aegis
drwxr-xr-x. 2 root root 4096 Apr  4 20:21 bin
drwxr-xr-x. 2 root root 4096 Apr 11  2018 etc
drwxr-xr-x. 2 root root 4096 Apr 11  2018 games
drwxr-xr-x. 4 root root 4096 Apr  4 19:07 include
drwxr-xr-x. 5 root root 4096 Apr  4 20:02 lib
drwxr-xr-x. 6 root root 4096 Apr  4 17:16 lib64
drwxr-xr-x. 2 root root 4096 Apr 11  2018 libexec
drwxr-xr-x  7 root root 4096 Apr  4 19:33 openssl1.1.1w    【可以】
drwxr-xr-x  9 root root 4096 Apr  4 20:50 openssl3.0.1     【不可以】
drwxr-xr-x  7 root root 4096 Apr  4 18:58 openssl3.2.1     【不可以】
drwxr-xr-x. 2 root root 4096 Apr 11  2018 sbin
drwxr-xr-x. 8 root root 4096 Apr  4 17:17 share
drwxr-xr-x. 2 root root 4096 Apr 11  2018 src
drwxr-xr-x  5 root root 4096 Apr  4 17:16 ssl
安装openssl
  1. openssl找到1.1.1版本
    python requires a openssl 1.1.1 or newer,阿里云,ssl,python
  2. 下载上传到服务器
[root@iZwz98v1pircy9j9329rhrZ ~]# ll
total 1112740
-rw-r--r--  1 root root 1069373440 Apr  4 14:47 mysql-8.3.0-1.el7.x86_64.rpm-bundle.tar
-rw-r--r--  1 root root    9893384 Apr  4 19:29 openssl-1.1.1w.tar.gz
drwxrwxr-x 21 root root       4096 Apr  4 20:29 openssl-3.0.13
-rw-r--r--  1 root root   15294843 Apr  4 17:03 openssl-3.0.13.tar.gz
drwxrwxr-x 26 root root       4096 Apr  4 20:50 openssl-3.2.1
-rw-r--r--  1 root root   17733249 Apr  4 14:23 openssl-3.2.1.tar.gz
drwxr-xr-x 18 root root       4096 Apr  4 21:38 Python-3.12.2
-rw-r--r--  1 root root   27116462 Apr  4 15:01 Python-3.12.2.tgz
  1. 解压
[root@iZwz98v1pircy9j9329rhrZ openssl-1.1.1w]# tar -zxvf openssl-1.1.1w.tar.gz```
4. 进入目录
```bash
[root@iZwz98v1pircy9j9329rhrZ ~]# cd openssl-1.1.1w/
[root@iZwz98v1pircy9j9329rhrZ openssl-1.1.1w]# 
  1. 运行配置文件,指定安装路径,安装到/usr/local/openssl目录下
[root@iZwz98v1pircy9j9329rhrZ openssl-1.1.1w]# ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib
Operating system: x86_64-whatever-linux2
Configuring OpenSSL version 1.1.1w (0x1010117fL) for linux-x86_64
Using os-specific seed configuration
Creating configdata.pm
Creating Makefile

**********************************************************************
***                                                                ***
***   OpenSSL has been successfully configured                     ***
***                                                                ***
***   If you encounter a problem while building, please open an    ***
***   issue on GitHub <https://github.com/openssl/openssl/issues>  ***
***   and include the output from the following command:           ***
***                                                                ***
***       perl configdata.pm --dump                                ***
***                                                                ***
***   (If you are new to OpenSSL, you might want to consult the    ***
***   'Troubleshooting' section in the INSTALL file first)         ***
***                                                                ***
**********************************************************************
[root@iZwz98v1pircy9j9329rhrZ openssl-1.1.1w]# 
  1. 编译
[root@iZwz98v1pircy9j9329rhrZ openssl-1.1.1w]# make
  1. 安装
[root@iZwz98v1pircy9j9329rhrZ openssl-1.1.1w]# make install
  1. 切换目录/usr/bin,备份原始的openssl
[root@iZwz98v1pircy9j9329rhrZ bin]# mv openssl openssl.bak
[root@iZwz98v1pircy9j9329rhrZ bin]# pwd

/usr/bin
[root@iZwz98v1pircy9j9329rhrZ bin]# ll | grep openssl
-rwxr-xr-x  1 root root    555280 Mar 21  2023 openssl.bak
  1. 创建软连接,使执行openssl时使用新版本的openssl
[root@iZwz98v1pircy9j9329rhrZ bin]# ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
[root@iZwz98v1pircy9j9329rhrZ bin]# ll | grep openssl
lrwxrwxrwx  1 root root        30 Apr  4 18:52 openssl -> /usr/local/openssl/bin/openssl
-rwxr-xr-x  1 root root    555280 Mar 21  2023 openssl.bak
  1. 将安装路径添加到环境变量
    export LD_LIBRARY_PATH=/usr/local/openssl/lib:$LD_LIBRARY_PATH
[root@iZwz98v1pircy9j9329rhrZ ~]# pwd
/root
[root@iZwz98v1pircy9j9329rhrZ ~]# cat .bashrc 
# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi
export LD_LIBRARY_PATH=/usr/local/openssl/lib:$LD_LIBRARY_PATH
[root@iZwz98v1pircy9j9329rhrZ ~]# 

  1. 运行 source .bashrc 的目的是重新加载当前用户的 .bashrc 文件,以便应用其中所做的更改,而无需注销并重新登录。
[root@iZwz98v1pircy9j9329rhrZ ~]# source .bashrc 
  1. 更新共享库的链接器缓存
[root@iZwz98v1pircy9j9329rhrZ ~]# ldconfig
  1. 检查是否安装成功
[root@iZwz98v1pircy9j9329rhrZ ~]# openssl version
OpenSSL 1.1.1w  11 Sep 2023
安装python
  1. 官网下载python最新版本,我选择3.12版本
    python requires a openssl 1.1.1 or newer,阿里云,ssl,python

  2. 上传到服务器文章来源地址https://www.toymoban.com/news/detail-861093.html

[root@iZwz98v1pircy9j9329rhrZ ~]# ll
total 1112736
-rw-r--r--  1 root root 1069373440 Apr  4 14:47 mysql-8.3.0-1.el7.x86_64.rpm-bundle.tar
drwxrwxr-x 19 root root       4096 Apr  4 22:00 openssl-1.1.1w
-rw-r--r--  1 root root    9893384 Apr  4 19:29 openssl-1.1.1w.tar.gz
drwxrwxr-x 21 root root       4096 Apr  4 20:29 openssl-3.0.13
-rw-r--r--  1 root root   15294843 Apr  4 17:03 openssl-3.0.13.tar.gz
drwxrwxr-x 26 root root       4096 Apr  4 20:50 openssl-3.2.1
-rw-r--r--  1 root root   17733249 Apr  4 14:23 openssl-3.2.1.tar.gz
-rw-r--r--  1 root root   27116462 Apr  4 15:01 Python-3.12.2.tgz
  1. 解压
[root@iZwz98v1pircy9j9329rhrZ ~]# tar -zxvf Python-3.12.2.tgz 
  1. 进入解压好的文件,执行配置文件,安装到/usr/local/python3.12
[root@iZwz98v1pircy9j9329rhrZ Python-3.12.2]# ./configure --prefix=/usr/local/python3.12 --with-openssl=/usr/local/openssl
  1. 编译
[root@iZwz98v1pircy9j9329rhrZ Python-3.12.2]# make
  1. 安装
[root@iZwz98v1pircy9j9329rhrZ Python-3.12.2]# make install
  1. 检查是否安装成功
[root@iZwz98v1pircy9j9329rhrZ bin]# /usr/local/python3.12/bin/python3.12
Python 3.12.2 (main, Apr  4 2024, 22:39:22) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
>>> 
>```

到了这里,关于【阿里云 centos7安装python3.12遇到的坑,openssl】Could not build the ssl module! Python requires a OpenSSL 1.1.1的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • centos7.9编译安装python3.7.2

    联网环境下编译安装python3.7.2,不联网则需要配置cnetos7.9离线源 下载解压软件包 安装依赖 编译安装 验证

    2024年02月06日
    浏览(32)
  • centos7通过yum方式安装python3.8

    1、在CentOS或RHEL系统上安装额外的企业级Linux软件包(EPEL)存储库。EPEL存储库提供了一些在默认存储库中不可用的附加软件包。如果您想要使用EPEL存储库中的软件包,您需要在系统上具有管理员权限。 2、在CentOS或RHEL系统上安装 yum-utils 软件包。 yum-utils 软件包提供了一组工

    2024年02月16日
    浏览(34)
  • docker基于centos7镜像安装python3.7.9

    下载centos7镜像 docker pull centos:centos7 启动容器centos-python-3.7 docker run -itd --name centos-python-3.7 -p 60021:22 --privileged centos:centos7 /usr/sbin/init 进入容器 docker exec -it centos-python-3.7 /bin/bash centos7环境下安装python3.7.9 在Linux的home目录下创建一个python3目录 mkdir /home/python3 切换到python3目录 c

    2024年02月15日
    浏览(34)
  • 如何在linux(centos7)操作系统下安装和卸载python3

    由于我的两台Linux操作系统的Python3的版本不同,不能直接使用相应的库,所以我决定将两个操作系统的Python3换成同一个版本,这样在使用库的时候不需要再重复安装了。 我个人习惯安装在/usr/local/python3(具体安装位置看个人喜好) 方式一: 在官网中现在相应版本的Python3,

    2024年02月13日
    浏览(65)
  • 阿里云 linux Centos7 安装 Miniconda3 + 创建Python环境

    (1)法一:可以去下载清华源的miniconda镜像源,选择自己需要的版本,然后上传到Linux服务器上,linux上使用请选择linux版本,如下: (2) 法二:在linux下的某一目录下,使用wget获取源文件,wget后面的地址就是上图中鼠标右击复制得到的,这种方式省去了上传的步骤。 (

    2024年01月19日
    浏览(51)
  • 腾讯云Centos7 python3.6升级到python3.8.1

    最近想要学习Ai错别字算法,自己的电脑运行有特别慢,特意斥巨资花了800大洋在腾讯云买了一台服务器(一个月GPU,真的贵,伤不起) 想要安装Python3.8.1,但是原来有了python2.7和python3.6了 所以只能升级处理了 第一步查询现在python 安装的版本 第二步 下载python3.8.1 第三步 解

    2024年02月11日
    浏览(35)
  • 十七、Jenkins(centos7系统)运行python3代码

    source /usr/python/envs/everyday/bin/activate #激活python3 虚拟环境 创建虚拟环境:https://blog.csdn.net/qq_42846555/article/details/131579627

    2024年02月12日
    浏览(46)
  • CentOS7环境编译python3.9版本pjsua

    环境:CentOS 7.6_x64    Python版本 :3.9.12 pjsip版本:2.13  pjsip地址:https://www.pjsip.org/ GitHub地址:https://github.com/pjsip/pjproject pjsip文档地址:https://docs.pjsip.org/en/latest/ 最新版本:2.13 pjsip是一个功能强大的sip协议栈和媒体处理库,MicroSIP软电话就是基于pjsip实现的,功能很强大。

    2024年02月08日
    浏览(40)
  • 谨慎Apache-Zookeeper-3.5.5以后在CentOS7.X安装的坑

    目录 前言 一、现场还原  二、问题诊断 三、问题原因  总结         最近由于项目需要,在服务器上需要搭建Hbase完全分布式集群环境。开发环境,采用的是最小节点的方式进行搭建(即3个节点的模式)。资源环境列表如下: 序号 依赖组件 说明 1 jdk-8u201-linux-x64.tar.g

    2024年02月05日
    浏览(32)
  • centos7 安装wkhtmltopdf 0.12.6

            最近恰好有html转图片的需要, 大约8年前也有使用过. 时间太久了, 也忘记, 以为有新技术出现, 百度了一圈, 都验证了下, 发现还是wkhtml功能最好用! 再次记录下, 方便使用的时候找的到, 也方便需要的小伙伴, 能更好的找到一份完整记录! wkhtmltopdf 看网上安装教程都是

    2024年02月13日
    浏览(26)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包