修复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的一些用法分享
Oct 07 Python
Python的subprocess模块总结
Nov 07 Python
浅谈Python peewee 使用经验
Oct 20 Python
Python列表推导式、字典推导式与集合推导式用法实例分析
Feb 07 Python
python人民币小写转大写辅助工具
Jun 20 Python
Python统计python文件中代码,注释及空白对应的行数示例【测试可用】
Jul 25 Python
Python random库使用方法及异常处理方案
Mar 02 Python
python关于变量名的基础知识点
Mar 03 Python
python 轮询执行某函数的2种方式
May 03 Python
完美解决pycharm 不显示代码提示问题
Jun 02 Python
基于python图书馆管理系统设计实例详解
Aug 05 Python
python 如何用urllib与服务端交互(发送和接收数据)
Mar 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
一个简单计数器的源代码
2006/10/09 PHP
在WINDOWS中设置计划任务执行PHP文件的方法
2011/12/19 PHP
php编写的一个E-mail验证类
2015/03/25 PHP
Symfony2框架学习笔记之表单用法详解
2016/03/18 PHP
php封装的smartyBC类完整实例
2016/10/19 PHP
PHP实现自动发送邮件功能代码(qq 邮箱)
2017/08/18 PHP
yii2 上传图片的示例代码
2018/11/02 PHP
免费空间广告万能消除代码
2006/09/04 Javascript
toString()一个会自动调用的方法
2010/02/08 Javascript
javascript动态改变img的src属性图片不显示的解决方法
2010/10/20 Javascript
javascript tips提示框组件实现代码
2010/11/19 Javascript
jQuery插件multiScroll实现全屏鼠标滚动切换页面特效
2015/04/12 Javascript
Bootstrap+jfinal退出系统弹出确认框的实现方法
2016/05/30 Javascript
BootStrap 智能表单实战系列(十)自动完成组件的支持
2016/06/13 Javascript
AngularJS 避繁就简的路由
2016/07/01 Javascript
AngularJS ngModel实现指令与输入直接的数据通信
2016/09/21 Javascript
基于jquery实现的银行卡号每隔4位自动插入空格的实现代码
2016/11/22 Javascript
JS键盘版计算器的制作方法
2016/12/03 Javascript
JS基于递归算法实现1,2,3,4,5,6,7,8,9倒序放入数组中的方法
2017/01/03 Javascript
vuejs绑定class和style样式
2017/04/11 Javascript
Angular 2 利用Router事件和Title实现动态页面标题的方法
2017/08/23 Javascript
vue router 源码概览案例分析
2018/10/09 Javascript
vue实现登录页面的验证码以及验证过程解析(面向新手)
2019/08/02 Javascript
wxPython学习之主框架实例
2014/09/28 Python
Python通过matplotlib绘制动画简单实例
2017/12/13 Python
对python中的高效迭代器函数详解
2018/10/18 Python
flask框架自定义过滤器示例【markdown文件读取和展示功能】
2019/11/08 Python
在django中自定义字段Field详解
2019/12/03 Python
复古服装:RetroStage
2019/05/10 全球购物
瑞士隐形眼镜和护理产品网上商店:Linsenklick
2019/10/21 全球购物
幼儿园消防安全制度
2014/01/26 职场文书
师范类求职信
2014/06/21 职场文书
《没有任何借口》读后感:完美的执行能力
2020/01/07 职场文书
提升Nginx性能的一些建议
2021/03/31 Servers
CSS3实现的文字弹出特效
2021/04/16 HTML / CSS
Python机器学习之PCA降维算法详解
2021/05/19 Python