目录

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

目录

阿里云服务器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 版本了:

https://i-blog.csdnimg.cn/blog_migrate/8f3656eded2d81f8d929384619ae21ab.png https://i-blog.csdnimg.cn/blog_migrate/01da0992c80f88ec0a7076e426e00b0f.png

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

a、运行脚本 configure

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

cd /usr/tmp/Python-3.9.12 # cd 到解压文件夹里面

./configure --prefix=/usr/local/python3

configure 后如下图:

https://i-blog.csdnimg.cn/blog_migrate/297fad4b7f247c157ddfeb1e900bb8e3.png

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

https://i-blog.csdnimg.cn/blog_migrate/9241181269f7292d553045edc3c4f193.png

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/* 毁灭吧,你累了

如何

参考链接:

[Linux 下如何卸载 python3 - Henry - 博客园](https://www.cnblogs.com/henrystudy/p/15366504.html "Linux下如何卸载python3 - Henry - 博客园 “)