修复CentOS7升级Python到3.6版本后yum不能正确使用的解决方法


Posted in Python onJanuary 26, 2018

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

修复CentOS7升级Python到3.6版本后yum不能正确使用的解决方法 

1 yum工具报错情况

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

[root@typecodes ~]# yum
File "/usr/bin/yum", line 34
 ^
SyntaxError: EOF while scanning triple-quoted string literal
[root@typecodes ~]#

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

修复CentOS7升级Python到3.6版本后yum不能正确使用的解决方法 

2 解决方法

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

修复CentOS7升级Python到3.6版本后yum不能正确使用的解决方法 

2.1、下载yum安装包

[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工具:

修复CentOS7升级Python到3.6版本后yum不能正确使用的解决方法 

2.2、执行 yum 命令

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

[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

2.2、继续执行 yum 命令

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

修复CentOS7升级Python到3.6版本后yum不能正确使用的解决方法 

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

3 解决完毕

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

修复CentOS7升级Python到3.6版本后yum不能正确使用的解决方法 

总结

以上所述是小编给大家介绍的修复CentOS7升级Python到3.6版本后yum不能正确使用的解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
python使用点操作符访问字典(dict)数据的方法
Mar 16 Python
Python中使用pprint函数进行格式化输出的教程
Apr 07 Python
详解Python的Django框架中的templates设置
May 11 Python
举例区分Python中的浅复制与深复制
Jul 02 Python
Scrapy使用的基本流程与实例讲解
Oct 21 Python
python在新的图片窗口显示图片(图像)的方法
Jul 11 Python
python:动态路由的Flask程序代码
Nov 22 Python
pyautogui自动化控制鼠标和键盘操作的步骤
Apr 01 Python
Python telnet登陆功能实现代码
Apr 16 Python
Python基础之字符串格式化详解
Apr 21 Python
浅谈tf.train.Saver()与tf.train.import_meta_graph的要点
May 26 Python
Pyqt5将多个类组合在一个界面显示的完整示例
Sep 04 Python
Python实现PS滤镜功能之波浪特效示例
Jan 26 #Python
Python使用pickle模块存储数据报错解决示例代码
Jan 26 #Python
python如何重载模块实例解析
Jan 25 #Python
Python进程间通信Queue实例解析
Jan 25 #Python
Python操作Redis之设置key的过期时间实例代码
Jan 25 #Python
python编程使用selenium模拟登陆淘宝实例代码
Jan 25 #Python
python画出三角形外接圆和内切圆的方法
Jan 25 #Python
You might like
php 魔术函数使用说明
2010/02/21 PHP
php session安全问题分析
2011/06/24 PHP
php使用base64加密解密图片示例分享
2014/01/20 PHP
PHP基本语法总结
2014/09/06 PHP
javascript学习笔记(十七) 检测浏览器插件代码
2012/06/20 Javascript
$.get获取一个文件的内容示例代码
2013/09/11 Javascript
Node.js中child_process实现多进程
2015/02/03 Javascript
jQuery插件实现大图全屏图片相册
2015/03/14 Javascript
js实现点击链接后延迟3秒再跳转的方法
2015/06/05 Javascript
如何使用jQuery技术开发ios风格的页面导航菜单
2015/07/29 Javascript
js前端解决跨域问题的8种方案(最新最全)
2016/11/18 Javascript
React-Native 组件之 Modal的使用详解
2017/08/08 Javascript
浅谈angular.js跨域post解决方案
2017/08/30 Javascript
JavaScript封闭函数及常用内置对象示例
2019/05/13 Javascript
layer.prompt输入层的例子
2019/09/24 Javascript
简单介绍Python的轻便web框架Bottle
2015/04/08 Python
Python错误提示:[Errno 24] Too many open files的分析与解决
2017/02/16 Python
python 统计代码行数简单实例
2017/05/04 Python
Python爬虫天气预报实例详解(小白入门)
2018/01/24 Python
Python3爬虫之自动查询天气并实现语音播报
2019/02/21 Python
django 通过url实现简单的权限控制的例子
2019/08/16 Python
简单了解python中的f.b.u.r函数
2019/11/02 Python
Python 寻找局部最高点的实现
2019/12/05 Python
在django中使用apscheduler 执行计划任务的实现方法
2020/02/11 Python
python安装sklearn模块的方法详解
2020/11/28 Python
Python实现疫情地图可视化
2021/02/05 Python
Uber Eats台湾:寻找附近提供送餐服务的餐厅
2018/05/07 全球购物
公司领导九九重阳节发言稿2014
2014/09/25 职场文书
第二批党的群众路线教育实践活动总结报告
2014/10/30 职场文书
作弊检讨书
2015/01/27 职场文书
李白经典诗之一:全文无一“月”字,却句句有月
2019/07/12 职场文书
导游词之五台山
2019/10/11 职场文书
CSS 圆形进度栏
2021/04/06 HTML / CSS
Python序列化与反序列化相关知识总结
2021/06/08 Python
Pycharm连接远程服务器并远程调试的全过程
2021/06/24 Python
Golang获取List列表元素的四种方式
2022/04/20 Golang