Centos如何安装高版本Python

一、卸载系统原有 Python 3 版本

首先检查并卸载系统自带的 Python 3,执行以下命令:

复制代码
# 查看已安装的Python3包
rpm -qa | grep python3

# 批量卸载(根据上面查到的包名调整,示例)
yum remove -y python3 python3-libs python3-pip python3-setuptools

# 清理残留文件
rm -rf /usr/bin/python3 /usr/lib/python3*

二、安装编译 Python 所需的依赖(含 SSL)

Python 的 ssl 模块依赖 OpenSSL 开发库,先安装所有编译依赖:

复制代码
# 更新yum源并安装基础依赖
yum update -y
yum install -y wget gcc make zlib-devel bzip2-devel openssl-devel ncurses-devel \
sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel \
libffi-devel openssl11-devel

# 为SSL模块配置环境变量(关键:CentOS 7默认OpenSSL版本过低,需指定新版)
export CFLAGS=$(pkg-config --cflags openssl11)
export LDFLAGS=$(pkg-config --libs openssl11)

三、下载并编译安装 Python 3.12.7

复制代码
# 下载Python 3.12.7源码包
cd /tmp
wget https://mirrors.aliyun.com/python-release/source/Python-3.12.7.tgz

# 解压源码包
tar -zxvf Python-3.12.7.tgz
cd Python-3.12.7

# 配置编译选项(指定安装路径+启用SSL)
./configure --prefix=/usr/local/python312 \
            --enable-optimizations \
            --with-openssl=/usr/lib64/openssl11 \
            --with-openssl-rpath=auto

# 编译并安装(-j参数为CPU核心数,可根据服务器配置调整,比如-j4)
make -j2 & make install

# 创建软链接(替换系统python3/pip3)
ln -sf /usr/local/python312/bin/python3.12 /usr/bin/python3
ln -sf /usr/local/python312/bin/pip3.12 /usr/bin/pip3

四、验证安装结果

复制代码
# 如果出现pip不在path中
    # 编辑profile文件(全局生效,所有用户)
    vi /etc/profile

    # 在文件末尾添加以下内容
    export PATH=/usr/local/python312/bin:$PATH

    # 保存退出后,执行以下命令让配置立即生效
    source /etc/profile

    # 再次验证
    pip3 -V
# 检查Python版本
python3 -V  # 应输出:Python 3.12.7

# 检查SSL模块是否正常
python3 -c "import ssl; print(ssl.OPENSSL_VERSION)"
# 正常输出示例:OpenSSL 1.1.1w  11 Sep 2023(版本号可能略有不同)

五、修复 pip 源(可选,提升下载速度)

复制代码
# 创建pip配置文件
mkdir -p ~/.pip
cat > ~/.pip/pip.conf << EOF
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn
EOF

### 六、创建虚拟环境

复制代码
# 创建虚拟环境
python3 -m venv myenv
# 进入环境
source /myenv/bin/activate
# 退出环境
deactivate
相关推荐
leoZ23132 分钟前
实战复盘:用 Claude Code 从零搭一个 GitHub PR 统计工具
java·人工智能·python·深度学习·自然语言处理·github·llama
深爱水瓶 血影S狂风37 分钟前
函数调用过程探究
linux·运维·服务器
酷可达拉斯1 小时前
Linux操作系统-磁盘空间使用率100%如何处理?
linux·运维·服务器·云计算·bash
夏天测1 小时前
Python 网络编程入门:从 Socket 底层到 HTTP 并发实战
python·socket·httpx·requests·tcp udp·python网络编程·爬虫基础
玉鸯2 小时前
多 Agent 并行时如何保证状态一致性?
分布式·python·agent
AIgorithmGEEK2 小时前
Linux 权限管理:从「Permission Denied」到「畅行无阻」
linux·权限·chmod·粘滞位·umask·文件权限的构成
aGdF8E3gQ2 小时前
【Application Insights】采样率对Function App日志收集的影响和解决方法
python·flask·wpf
BullSmall2 小时前
scanoss-engine 本地最简部署 & 扫描命令(Linux/Anolis OS)
linux·运维·服务器
ATMQuant2 小时前
以AI量化为生:25.vnpy 4.4升级实战 - 魔改版框架如何安全跟进上游
人工智能·python·量化交易·vnpy
bellus-2 小时前
Ubuntu 26.04 Miniforge3 安装与配置完整指南
linux·运维·ubuntu