CentOS7 下升级Python版本

本次安装参考其他网络其他文章,根据自己的实际情况,进行编写记录,避免遗漏

服务器版本:CentOS 7.5 64位

安装的python版本为:python 3.7.3

1)切换工作目录至/usr/local

cd /usr/local


2)下载目标python3.7.3版本压缩包

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


3)解压压缩包
tar -xzf Python-3.7.3.tgz


4)在当前目录下创建文件夹--python3

mkdir python3


5)编译与安装

5.1)进入解压文件路径

cd Python-3.7.3


5.2)生成makefile文件

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

./configure 是生成 makefile 文件

--prefix是编译时指定程序存放的路径。

不指定prefix,可执行文件默认放在/usr/local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr/local/share

5.3)对makefile文件进行操作

make

make 命令 是对makefile文件操作

make install

make install 是安装命令

出现了安装失败的问题:

zipimport.ZipImportError: can't decompress data; zlib not available

这是由于缺少依赖造成的,可执行以下代码:

yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel

6)覆盖现有python链接

备份旧链接:

mv /usr/bin/python /usr/bin/python2.bak

建立新软连接:

ln -s /usr/local/python3/bin/python3.7 /usr/bin/python

查看版本python -V

Python 3.7.3

7)更改yum配置

由于修改了python的版本,会导致一些依赖于旧版本的程序出现错误,因此需要更改一下yum的配置。

vim /usr/bin/yum

vim /usr/libexec/urlgrabber-ext-down

编辑这两个文件的第一行内容

将第一行:#!/usr/bin/python

改为:#!/usr/bin/python2

修改以下配置,防止服务器防火墙不能使用命令

vim /usr/bin/firewall-cmd

将#!/usr/bin/python -Es 改为 #!/usr/bin/python2 -Es

vim /usr/sbin/firewalld

将#!/usr/bin/python -Es 改为 #!/usr/bin/python2 -Es

完成

原文地址:https://www.cnblogs.com/zxh06820/p/12356090.html