前言:由于centos7默认自带的python为2.7.5,然后使用yum安装python3最高只有3.6.8,那只能自己下载对应版本,手动编译后更改软连接了。
安装
一、环境准备
- Linux系统为centos7
- 已经更改为阿里云链接的yum
- 安装了wget
二、操作步骤
1、下载编译
# 1、安装Python编译过程中需要的一些依赖包
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
# 3.7以后版本需要
yum install libffi-devel -y
yum install zlib*
# 2、创建一个空文件夹并在改文件夹下使用wget从Python的官方网站下载Python 3.8的源码(若需别的版本可以自行找到连接并更改连接)
mkdir install_python
cd install_python
wget https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tgz
# 3、解压
tar xzf Python-3.8.12.tgz
# 4、进入解压目录后编译安装Python 3.8(这里使用--prefix参数安装到/usr/local/python3.8,如需别处可以自行更改)
cd Python-3.8.12
sudo ./configure --prefix=/usr/local/python3.8 --enable-optimizations
make
sudo make install
# 5、验证安装成功
/usr/local/python3.8/bin/python3.8 --version
2、更改软连接
# 1、将系统默认的python备份
mv /usr/bin/python /usr/bin/python2.7.5
# 2、更改软连接
# (可选)ln -s /usr/local/python3.8/bin/python3.8 /usr/bin/python
ln -s /usr/local/python3.8/bin/python3.8 /usr/bin/python3
# 3、验证
# python --version
python3 --version
注意:因为yum采用python作为命令解释器,原来系统自带的python解释器为python2.7,若改变了/usr/bin/python软件链接指向python3.8,会出现使用yum解析错误,则需要更改yum文件为备份的python2.7.5。
步骤一
# 使用vi/vim打开yum文件 vim /usr/bin/yum
步骤二:修改文件为之前保存的备份
步骤三:保存并退出
先ctrl + :
后输入wq,再回车步骤四:验证成功
yum info python3
三、其他方式
# 1、使用
yum
安装centos-release-scl
,这将允许你安装软件集合中的Python版本sudo yum install -y centos-release-scl
# 2、查看可用的包
sudo yum search python3
# 3、根据前缀进行安装
sudo yum install -y rh-python38
# 4、验证版本
python3.8 -V
# 5、将系统默认的python备份
mv /usr/bin/python /usr/bin/python2.7.5
# 6、创建软链接
# (可选)sudo ln -s /opt/rh/rh-python38/root/usr/bin/python /usr/bin/python
sudo ln -s /opt/rh/rh-python38/root/usr/bin/python3 /usr/bin/python3
# 7、验证
# python --version
python3 --version
卸载
# 卸载pyhton3
rpm -qa|grep python3|xargs rpm -ev --allmatches --nodeps
# 删除所有残余文件
whereis python3 |xargs rm -frv
# 查看现有安装的python
whereis python
注意:这种方式会删除包含python3名字的文件谨慎使用