前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >修复CentOS7升级Python到3.6版本后yum不能使用的问题

修复CentOS7升级Python到3.6版本后yum不能使用的问题

作者头像
typecodes
发布2024-03-29 15:13:46
1400
发布2024-03-29 15:13:46
举报
文章被收录于专栏:typecodestypecodes

之前把现有这台阿里CentOS7.2系统的Python2.7.5升级成Python3.6后,yum工具就不能使用了。当时网上查了下原因,都说是Python3导致的,但是试了很多种方法还是没解决,后面也就一直没管了。因为最近要弄一个Nodejs微信小程序,需要用yum安装一些开发工具,就不得不修复这个问题了。

CentOS7.2中Python3版本导致yum不能使用
CentOS7.2中Python3版本导致yum不能使用
1 yum工具报错情况

直接执行yum命令就会提示/usr/bin/yum文件第34行有错误:

代码语言:javascript
复制
[root@typecodes ~]# yum
File "/usr/bin/yum", line 34

    ^
SyntaxError: EOF while scanning triple-quoted string literal
[root@typecodes ~]#

但是vim查看这个文件根本没有这一行:

/usr/bin/yum错误
/usr/bin/yum错误
2 解决方法

由于找不到报错的位置,只能考虑重新安装yum了。

2.1、下载yum安装包

代码语言:javascript
复制
[root@typecodes ~]# wget -c http://yum.baseurl.org/download/3.4/yum-3.4.3.tar.gz
[root@typecodes ~]# tar -zxf yum-3.4.3.tar.gz
[root@typecodes ~]# cd yum-3.4.3/

接着使用python2 yummain.py install yum命令(还是不能使用python3来执行)重新安装yum工具:

重新安装yummain.py
重新安装yummain.py

2.2、执行yum命令

尝试执行yum命令,在/usr/bin/yum文件的第30行报错:

代码语言:javascript
复制
[root@typecodes yum-3.4.3]# yum
File "/usr/bin/yum", line 30
    except KeyboardInterrupt, e:
                            ^
SyntaxError: invalid syntax
[root@typecodes yum-3.4.3]#

显然上面的except语句是python2的写法,当然不能使用默认的Python3命令来执行了。于是把这个文件第1行的#!/usr/bin/python替换成#!/usr/bin/python2

修改/usr/bin/yum错误
修改/usr/bin/yum错误

2.2、继续执行yum命令

尝试执行yum -y update命令更新CentOS系统,结果在文件/usr/libexec/urlgrabber-ext-down第28行处还是报SyntaxError: invalid syntax的错误。

修改urlgrabber-ext-down错误
修改urlgrabber-ext-down错误

原因是一样的,所以要么把/usr/libexec/urlgrabber-ext-down文件中所有的except写法改成Python3,要么修改第1行的解释器声明,显然第2种方法更新简单有效。

3 解决完毕

到此,可以愉快地使用yum -y update命令更新CentOS系统,然后做开发了!

修复CentOS7升级Python到3.6版本后yum不能使用的问题
修复CentOS7升级Python到3.6版本后yum不能使用的问题
本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-01-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 yum工具报错情况
  • 2 解决方法
  • 3 解决完毕
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com