CentOS 7安装Python3.12

文章目录


使用pyenv安装python3.12


一、gitub下载pyenv

https://github.com/pyenv/pyenv

按照README,pyenv教程安装即可

二、升级GCC

安装依赖

bash 复制代码
yum install centos-release-scl -y

手动修改库地址

/etc/yum.repos.d/CentOS-SCLo-scl-rh.repo

bash 复制代码
[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=http://vault.centos.org/centos/7/sclo/$basearch/rh/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

/etc/yum.repos.d/CentOS-SCLo-scl-rh.repo

bash 复制代码
[centos-sclo-sclo]
name=CentOS-7 - SCLo sclo
baseurl=http://vault.centos.org/centos/7/sclo/$basearch/rh/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

更新yum库

bash 复制代码
yum clean all yum makecache

安装并开启GCC11

bahs 复制代码
yum install devtoolset-11 -y scl enable devtoolset-11 bash

三.升级openssl

Python 3.10+ 需要 OpenSSL 1.1.1+,但 CentOS 7 默认的 OpenSSL 版本是 1.0.2,需手动升级
步骤 1:从源码编译 OpenSSL 1.1.1

bash 复制代码
# 下载 OpenSSL 1.1.1
wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz
tar -xzf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w

# 编译安装到 /opt/openssl
./config --prefix=/opt/openssl --openssldir=/opt/openssl
make -j$(nproc)
sudo make install

# 添加动态库路径
echo '/opt/openssl/lib' | sudo tee /etc/ld.so.conf.d/openssl-1.1.1.conf
sudo ldconfig

步骤 2:验证 OpenSSL 版本

bash 复制代码
/opt/openssl/bin/openssl version
# 输出应为 OpenSSL 1.1.1w

步骤 3:设置编译环境变量

在编译 Python 时,通过环境变量指定 OpenSSL 路径:

bash 复制代码
export CPPFLAGS="-I/opt/openssl/include"
export LDFLAGS="-L/opt/openssl/lib"
export LD_LIBRARY_PATH="/opt/openssl/lib:$LD_LIBRARY_PATH"

步骤 4:安装 Python 3.12

bash 复制代码
pyenv install 3.12.9 --verbose

步骤 5:验证

bash 复制代码
[root@...] pyenv global 3.12
[root@...] python3
Python 3.12.9 (main, Apr  8 2025, 15:37:15) [GCC 11.2.1 20220127 (Red Hat 11.2.1-9)] on linux
Type "help", "copyright", "credits" or "license" for more information.

这样python3.12.9就完成安装在CentOS上啦!

相关推荐
一只栖枝24 分钟前
华为 HCIE 大数据认证中 Linux 命令行的运用及价值
大数据·linux·运维·华为·华为认证·hcie·it
wuicer3 小时前
ubuntu 20.04 安装anaconda以及安装spyder
linux·运维·ubuntu
wyiyiyi3 小时前
【Web后端】Django、flask及其场景——以构建系统原型为例
前端·数据库·后端·python·django·flask
mit6.8243 小时前
[1Prompt1Story] 滑动窗口机制 | 图像生成管线 | VAE变分自编码器 | UNet去噪神经网络
人工智能·python
没有bug.的程序员3 小时前
JVM 总览与运行原理:深入Java虚拟机的核心引擎
java·jvm·python·虚拟机
甄超锋4 小时前
Java ArrayList的介绍及用法
java·windows·spring boot·python·spring·spring cloud·tomcat
cui__OaO4 小时前
Linux软件编程--线程
linux·开发语言·线程·互斥锁·死锁·信号量·嵌入式学习
小狗爱吃黄桃罐头4 小时前
正点原子【第四期】Linux之驱动开发篇学习笔记-1.1 Linux驱动开发与裸机开发的区别
linux·驱动开发·学习
小晶晶京京5 小时前
day34-LNMP详解
linux·运维·服务器
画个太阳作晴天5 小时前
A12预装app
linux·服务器·前端