CentOS7 下升级Python版本,以及yum的配置

本文详细介绍了如何在CentOS7.3系统上从Python2.7升级到Python3.8,包括下载安装包、解压、编译、安装及解决zlib依赖问题。同时提供了两种版本配置方法:创建python3软链和覆盖现有python,确保与旧版本共存或无缝切换。在升级过程中,注意处理可能出现的依赖错误,如yum等工具的Python版本问题。
摘要由CSDN通过智能技术生成

服务器版本:CentOS 7.3 64位

旧Python版本:2.7.5

新Python版本:3.8.0

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

在Linux系统下,路径/usr/local相当于C:/Progrem Files/,通常安装软件时便安装到此目录下。

执行命令:

cd /usr/local

2、下载python压缩包

执行命令:

wget http://npm.taobao.org/mirrors/python/3.8.0/Python-3.8.0.tgz

3、解压压缩包

执行命令:

tar -xzf Python-3.8.0.tgz

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

执行命令:

mkdir python3

5、编译与安装

执行步骤:

a.进入解压文件路径

cd Python-3.8.0

b.生成makefile文件

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

c. 对makefile文件进行操作

make

d.安装

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版本的方法大致分为两种

  1. 直接创建python3软链,利用命令 python3 调用新版本python,与自带python不冲突
  2. 覆盖现有python,使其指向新安装的python,利用命令 python 便可调用新版本python

 

6.1直接创建python3软链

                 在/usr/bin路径下创建python3软链,指向已安装的python3

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

                 在/usr/bin路径下创建pip3软链,指向已安装的pip3

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

        此时系统中存在两个python版本:

        命令 python 对应的仍是默认2.7版本

        命令 python3 则对应新安装的3.8版本,

        此本方法到此便结束了,可以快乐地打出 python3 -V, pip3 -V查看对应版本了

6.2  覆盖现有python,启动python时指向python3.8

        备份旧python与pip

         mv /usr/bin/python /usr/bin/python2_old
         mv /usr/bin/pip /usr/bin/pip2_old  #第三部分的文件名可根据本机版本修改

修改软链接

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

此方法到这里已经完成一半啦,可以使用命令 python -V, pip -V查看版本

 

6.2.1 收尾工作

                由于修改了python的版本,会导致一些依赖于旧版本的程序出现错误,如yum,可进行如下配置:

        vim /usr/bin/yum

        文件第一行如下图:

             

         将python修改为旧的版本号,此处添加2.7:

          

        不过在安装软件时仍会报错:

SyntaxError: invalid syntax
  File "/usr/libexec/urlgrabber-ext-down", line 28
  except OSError, e:

还是因为python更换的原因, 依照上述操作修改文件即可:打开/usr/libexec/urlgrabber-ext-down 文件,将 #!/usr/bin/python   修改为 #!/usr/bin/python2.7   

其他工具或库如果在安装过程中也报类似错误,同法处理。

此时系统仍存在两个python版本,但命令 python 对应的是新安装的3.8版本,命令 python2 才对应之前的默认2.7版本
此方法到这里就结束啦!

 

 

参考原链接:https://www.cnblogs.com/ech2o/p/11748464.html

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值