修复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标准库内置函数complex介绍
Nov 25 Python
利用python发送和接收邮件
Sep 27 Python
Python开发的实用计算器完整实例
May 10 Python
Python基础教程之利用期物处理并发
Mar 29 Python
Python 2.7中文显示与处理方法
Jul 16 Python
在python中对变量判断是否为None的三种方法总结
Jan 23 Python
Python网络编程之使用TCP方式传输文件操作示例
Nov 01 Python
在Matplotlib图中插入LaTex公式实例
Apr 17 Python
Python 跨.py文件调用自定义函数说明
Jun 01 Python
Keras SGD 随机梯度下降优化器参数设置方式
Jun 19 Python
解决Pytorch中关于model.eval的问题
May 22 Python
使用scrapy实现增量式爬取方式
Jun 21 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+redis实现注册、删除、编辑、分页、登录、关注等功能示例
2017/02/15 PHP
解决laravel 5.1报错:No supported encrypter found的办法
2017/06/07 PHP
详解PHP使用日期时间处理器Carbon人性化显示时间
2017/08/10 PHP
PHP实现负载均衡session共享redis缓存操作示例
2018/08/22 PHP
ExtJS 学习专题(一) 如何应用ExtJS(附实例)
2010/03/11 Javascript
下载网站打开页面后间隔多少时间才显示下载链接地址的代码
2010/04/25 Javascript
JavaScript高级程序设计 阅读笔记(十二) js内置对象Math
2012/08/14 Javascript
js如何获取file控件的完整路径具体实现代码
2013/05/15 Javascript
Textarea根据内容自适应高度
2013/10/28 Javascript
Knockout visible绑定使用方法
2013/11/15 Javascript
Blocksit插件实现瀑布流数据无限( 异步)加载
2014/06/20 Javascript
JavaScript中匿名函数用法实例
2015/03/23 Javascript
浅谈JavaScript的Polymer框架中的behaviors对象
2015/07/29 Javascript
JavaScript使用DeviceOne开发实战(三)仿微信应用
2015/12/02 Javascript
Node.js+Express配置入门教程详解
2016/05/19 Javascript
jQuery插件uploadify实现ajax效果的图片上传
2016/06/18 Javascript
Javascript DOM事件操作小结(监听鼠标点击、释放,悬停、离开等)
2017/01/20 Javascript
bootstrap multiselect 多选功能实现方法
2017/06/05 Javascript
通过js动态创建标签,并设置属性方法
2018/02/24 Javascript
浅谈Vue路由快照实现思路及其问题
2018/06/07 Javascript
vue列表单项展开收缩功能之this.$refs的详解
2019/05/05 Javascript
Python 元类使用说明
2009/12/18 Python
Python中的推导式使用详解
2015/06/03 Python
Python入门_浅谈字符串的分片与索引、字符串的方法
2017/05/16 Python
python爬虫获取京东手机图片的图文教程
2017/12/29 Python
Python实现的查询mysql数据库并通过邮件发送信息功能
2018/05/17 Python
python使用matplotlib绘制热图
2018/11/07 Python
Python算法中的时间复杂度问题
2019/11/19 Python
python常用数据重复项处理方法
2019/11/22 Python
浅谈pytorch卷积核大小的设置对全连接神经元的影响
2020/01/10 Python
在django admin详情表单显示中添加自定义控件的实现
2020/03/11 Python
FILA斐乐中国官方商城:意大利运动品牌
2017/01/25 全球购物
单位委托书范本
2014/04/04 职场文书
审计局2014法制宣传日活动总结
2014/11/01 职场文书
2015年实习单位评语
2015/03/25 职场文书
Redis集群节点通信过程/原理流程分析
2022/03/18 Redis