阿里云服务器CentOS7.6升级Python3.68到3.9.12

1、下载python3.9.12安装包
a、下载:

cd /usr/tmp

wget https://www.python.org/ftp/python/3.9.12/Python-3.9.12.tgz.xz

b、解压文件:

tar -xvf Python-3.9.12.tgz.xz

2、移除旧版本

a、 删除旧版本的软链接

rm -rf ./python3

rm -rf ./pip3

b、清空旧版本的存放内容,由于python2和python3在同一个文件夹里面,所以务必要小心

#1、cd到当前安装的文件夹
cd /usr/bin/

#2、卸载python3,注意一定是python3
rpm -qa|grep python3|xargs rpm -ev --allmatches --nodeps

#2、 删除所有残余文件

whereis python3 |xargs rm -frv

#3、查看现有安装的python

whereis python

现在只剩下python2版本了: 

 

​​​​​​3、执行安装

a、运行脚本configure

configure是一个shell脚本,根据平台的特性生成Makefile文件,为下一步的编译做准备。可以通过在 configure 后加上参数来对安装进行控制,比如下面就是指定安装目录/usr/local/python3。如果没有用这个选项,安装过程结束后,该软件所需的软件被复制到不同的系统目录下,比较混乱。

cd /usr/tmp/Python-3.9.12  # cd到解压文件夹里面
 
./configure --prefix=/usr/local/python3

configure后如下图: 

阿里云服务器CentOS7.6升级Python3.68到3.9.12_第1张图片 

b、make编译&make install安装 

make && make altinstall

c、运行make clean

删除一些临时文件(删除源代码(C\C++ code)生成的执行文件和所有的中间目标文件)

make clean

4、创建软链接

ln -s /usr/local/python3/bin/python3 /usr/bin/python3

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

5、检查版本

python3 -V

阿里云服务器CentOS7.6升级Python3.68到3.9.12_第2张图片

It's very beautiful!至此大功告成!

报错解决

问题一:安装时报错ModuleNotFoundError: No module named '_ctypes'的解决办法

1、执行如下命令:

yum install libffi-devel 

2、从"./configure ..."重新安装

问题二:保留原python.6的存放目录,仅修改python3.6版本的软链接。将python3.8软链接到python3,显示的版本还是3.6

   移除python3.6的软链接和存放目录(参考步骤2)

问题三:安装时报错ModuleNotFoundError: No module named 'zlib'的解决方法

   先执行下面代码,然后从步骤3.b开始执行:

./configure --with-zlib

如果还是报相同的错误,那么

# 1、在操作系统中安装zlib和bz2相关库

yum install zlib zlib-devel
yum -y install bzip2 bzip2-devel ncurses openssl openssl-devel openssl-static xz lzma xz-devel sqlite sqlite-devel gdbm gdbm-devel tk tk-devel libffi-devel

2、重新编译

export CFLAGS="-I/usr/include"
export LDFLAGS="-L/usr/lib64"
export LD_LIBRARY_PATH=/usr/lib64

make distclean
./configure --prefix=/usr/local/python3 --enable-optimizations  && make && make install

 新的错误又来了,继续下面,然后返回3.b开始执行

yum -y groupinstall "Development tools"
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
yum install libffi-devel -y

正常情况大功告成!!!如何还是报错,建议cd ~ &&sudo rm -rf/* 毁灭吧,你累了

如何

参考链接:

centos 7 python3.6升级到python3.8_汀棠的雅色的博客-CSDN博客_python3.6升级3.8

Linux下如何卸载python3 - Henry` - 博客园 

 

你可能感兴趣的:(python)