修复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中使用ConfigParser解析ini配置文件实例
Aug 30 Python
跟老齐学Python之关于循环的小伎俩
Oct 02 Python
Python Requests模拟登录实现图书馆座位自动预约
Apr 27 Python
Python读取英文文件并记录每个单词出现次数后降序输出示例
Jun 28 Python
朴素贝叶斯Python实例及解析
Nov 19 Python
Python将列表数据写入文件(txt, csv,excel)
Apr 03 Python
python爬虫之验证码篇3-滑动验证码识别技术
Apr 11 Python
django-rest-framework 自定义swagger过程详解
Jul 18 Python
python @classmethod 的使用场合详解
Aug 23 Python
python中count函数简单的实例讲解
Feb 06 Python
python实现Oracle查询分组的方法示例
Apr 30 Python
Python代码,能玩30多款童年游戏!这些有几个是你玩过的
Apr 27 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
基于xcache的配置与使用详解
2013/06/18 PHP
php数组转成json格式的方法
2015/03/09 PHP
php生成网页桌面快捷方式
2017/05/05 PHP
PHP实现类似于C语言的文件读取及解析功能
2017/09/01 PHP
Jquery和JS用外部变量获取Ajax返回的参数值的方法实例(超简单)
2013/06/17 Javascript
Javascript脚本实现静态网页加密实例代码
2013/11/05 Javascript
jQuery响应enter键的实现思路
2014/04/18 Javascript
Jquery 实现checkbox全选方法
2015/01/28 Javascript
JavaScript中的getMilliseconds()方法使用详解
2015/06/10 Javascript
JavaScript性能优化之小知识总结
2015/11/20 Javascript
JavaScript中Function函数与Object对象的关系
2015/12/17 Javascript
ionic开发中点击input时键盘自动弹出
2016/12/23 Javascript
jQuery实现获取h1-h6标题元素值的方法
2017/03/06 Javascript
Vue中fragment.js使用方法详解
2017/03/09 Javascript
JS实现手写parseInt的方法示例
2017/09/24 Javascript
解决vue中监听input只能输入数字及英文或者其他情况的问题
2018/08/30 Javascript
Javascript中弹窗confirm与prompt的区别
2018/10/26 Javascript
浅谈在Vue.js中如何实现时间转换指令
2019/01/06 Javascript
深入理解nodejs搭建静态服务器(实现命令行)
2019/02/05 NodeJs
angular 服务随记小结
2019/05/06 Javascript
vue在路由中验证token是否存在的简单实现
2019/11/11 Javascript
Python urllib模块urlopen()与urlretrieve()详解
2013/11/01 Python
python使用循环打印所有三位数水仙花数的实例
2018/11/13 Python
pandas DataFrame 交集并集补集的实现
2019/06/24 Python
python在新的图片窗口显示图片(图像)的方法
2019/07/11 Python
Python Django 实现简单注册功能过程详解
2019/07/29 Python
关于sys.stdout和print的区别详解
2019/12/05 Python
检测浏览器是否支持html5视频的代码
2013/03/28 HTML / CSS
总经理助理的职责
2014/03/14 职场文书
安全生产目标管理责任书
2014/07/25 职场文书
创先争优活动承诺书
2014/08/30 职场文书
2015年党员个人自我评价
2015/03/03 职场文书
综治目标管理责任书
2015/05/11 职场文书
开网店计划分析
2019/07/30 职场文书
JavaScript实现简单拖拽效果
2021/09/15 Javascript
SQL Server删除表中的重复数据
2022/05/25 SQL Server