修复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 相关文章推荐
OpenCV-Python实现轮廓检测实例分析
Jan 05 Python
Python使用xlwt模块操作Excel的方法详解
Mar 27 Python
python 调用钉钉机器人的方法
Feb 20 Python
WxPython建立批量录入框窗口
Feb 27 Python
Python实现插入排序和选择排序的方法
May 12 Python
pytorch多进程加速及代码优化方法
Aug 19 Python
pygame实现贪吃蛇游戏(上)
Oct 29 Python
tensorflow:指定gpu 限制使用量百分比,设置最小使用量的实现
Feb 06 Python
Python logging日志模块 配置文件方式
Jul 12 Python
PyQt5通过信号实现MVC的示例
Feb 06 Python
TensorFlow的环境配置与安装方法
Feb 20 Python
python线程优先级队列知识点总结
Feb 28 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的历史和优缺点
2006/10/09 PHP
php 数学运算验证码实现代码
2009/10/11 PHP
php中时间轴开发(刚刚、5分钟前、昨天10:23等)
2011/10/03 PHP
php ckeditor上传图片文件名乱码解决方法
2013/11/15 PHP
标准PHP的AES加密算法类
2015/03/12 PHP
PHP可变变量学习小结
2015/11/29 PHP
javascript下判断一个元素是否存在的代码
2010/03/05 Javascript
jQuery each()小议
2010/03/18 Javascript
javascript+mapbar实现地图定位
2010/04/09 Javascript
jQuery探测位置的提示弹窗(toolTip box)详细解析
2013/11/14 Javascript
用js代码改变单选框选中状态的简单实例
2013/12/18 Javascript
js的Boolean对象初始值示例
2014/03/04 Javascript
jQuery取消ajax请求的方法
2015/06/09 Javascript
js实现的简洁网页滑动tab菜单效果代码
2015/08/24 Javascript
js+html5实现的自由落体运动效果代码
2016/01/28 Javascript
jquery html动态添加的元素绑定事件详解
2016/05/24 Javascript
jQuery实现简单的网页换肤效果示例
2016/09/18 Javascript
Bootstrap分页插件之Bootstrap Paginator实例详解
2016/10/15 Javascript
js中new一个对象的过程
2017/02/20 Javascript
vue+vuex+axios+echarts画一个动态更新的中国地图的方法
2017/12/19 Javascript
Vue组件通信的四种方式汇总
2018/02/08 Javascript
Vue实现textarea固定输入行数与添加下划线样式的思路详解
2018/06/28 Javascript
小程序实现多选框功能
2018/10/30 Javascript
Python实现给文件添加内容及得到文件信息的方法
2015/05/28 Python
python基础_文件操作实现全文或单行替换的方法
2017/09/04 Python
matplotlib设置legend图例代码示例
2017/12/19 Python
python读写配置文件操作示例
2019/07/03 Python
Python Numpy中数据的常用保存与读取方法
2020/04/01 Python
HTML5拖放功能_动力节点Java学院整理
2017/07/13 HTML / CSS
html5 canvas 简单画板实现代码
2012/01/05 HTML / CSS
canvas实现烟花的示例代码
2020/01/16 HTML / CSS
保荐人的岗位职责
2013/11/19 职场文书
80后职场人的职业生涯规划
2014/03/08 职场文书
拓展训练激励口号
2014/06/17 职场文书
外出听课学习心得体会
2016/01/15 职场文书
2019公司管理制度
2019/04/19 职场文书