centos已安装python3.7环境,还行单独安装python3.10环境,如何安装,具体步骤

在CentOS系统上已安装Python 3.7环境的情况下,如果还需要单独安装Python 3.10环境,可以按照以下具体步骤进行操作:

一、更新系统并安装依赖

更新系统:

sudo yum update

安装编译所需的依赖:

bash

sudo yum groupinstall -y "Development Tools"

sudo yum install -y openssl-devel libffi-devel bzip2-devel zlib-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

二、下载并安装Python 3.10源码

切换目录:

bash

cd /usr/src

下载Python 3.10源码:

bash

sudo wget https://www.python.org/ftp/python/3.10.x/Python-3.10.x.tgz # x代表具体的小版本号,如4、5等,请根据实际情况选择

解压源码并进入目录:

bash

sudo tar xzf Python-3.10.x.tgz

cd Python-3.10.x

配置安装选项:

bash

sudo ./configure --enable-optimizations --prefix=/usr/local/python3.10 --with-openssl=/usr/local/openssl --with-openssl-rpath=auto

注意:如果系统中未安装OpenSSL 1.1.1或更高版本,需要先下载并安装。安装步骤大致为:下载源码、解压、编译并安装,然后创建软链接以替换系统默认的OpenSSL。

编译并安装Python:

bash

sudo make -j$(nproc) # 使用所有可用的CPU核心进行编译

sudo make altinstall # 使用altinstall而不是install以避免覆盖系统默认的Python版本

三、验证安装并创建软链接

验证安装:

bash

python3.10 --version

如果显示Python 3.10的版本信息,则安装成功。

创建软链接:

为了方便使用,可以为Python 3.10和pip3.10创建软链接。

bash

sudo ln -s /usr/local/python3.10/bin/python3.10 /usr/local/bin/python3.10

sudo ln -s /usr/local/python3.10/bin/pip3.10 /usr/local/bin/pip3.10

如果希望将python3.10作为默认的python3版本,可以覆盖系统默认的python3软链接(请谨慎操作,因为这可能会影响系统其他依赖Python的程序)

sudo mv /usr/bin/python3 /usr/bin/python3.bak # 备份原有的python3软链接

sudo ln -s /usr/local/python3.10/bin/python3.10 /usr/bin/python3

同样地,也可以为pip3创建软链接

sudo mv /usr/bin/pip3 /usr/bin/pip3.bak # 备份原有的pip3软链接(如果存在)
sudo ln -s /usr/local/python3.10/bin/pip3.10 /usr/bin/pip3

四、注意事项

备份重要文件:在进行任何修改之前,建议备份重要文件,以防万一。

避免覆盖系统默认Python:尽量使用altinstall而不是install来安装Python新版本,以避免覆盖系统默认的Python版本。

测试新安装的Python:安装完成后,务必测试新安装的Python和pip是否正常工作。

通过以上步骤,您可以在CentOS系统上成功安装Python 3.10环境,并与已有的Python 3.7环境共存。

相关推荐
SilentSamsara18 分钟前
生成器完全指南:`yield` 与惰性求值的工程价值
linux·开发语言·python·算法·机器学习·青少年编程
jieyucx8 小时前
Go语言深度解剖:Map扩容机制全解析(增量扩容+等量扩容+渐进式迁移)
开发语言·后端·golang·map·扩容策略
YJlio8 小时前
7.4.5 Windows 11 企业网络连接与网络重置实战:远程访问、本地策略与故障恢复
前端·chrome·windows·python·edge·机器人·django
脏脏a8 小时前
【C++模版】泛型编程:代码复用的终极利器
开发语言·c++·c++模版
island13148 小时前
【C++仿Muduo库#3】Server 服务器模块实现上
服务器·开发语言·c++
散峰而望8 小时前
【算法竞赛】C/C++ 的输入输出你真的玩会了吗?
c语言·开发语言·数据结构·c++·算法·github
小龙报8 小时前
【C语言】内存里的 “数字变形记”:整数三码、大小端与浮点数存储真相
c语言·开发语言·c++·创业创新·学习方法·visual studio
深耕AI8 小时前
【VS Code避坑指南】点击Python图标提示“没有Python环境”,选择安装uv后这堆输出到底是什么意思?
开发语言·python·uv
第一程序员8 小时前
Rust生命周期管理实战指南:从困惑到掌握
python·github
2301_789015628 小时前
C++:继承
c语言·开发语言·c++