修复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中的yield浅析
Jun 16 Python
Python判断值是否在list或set中的性能对比分析
Apr 16 Python
Python中生成Epoch的方法
Apr 26 Python
Python之web模板应用
Dec 26 Python
python 爬虫 批量获取代理ip的实例代码
May 22 Python
树莓派动作捕捉抓拍存储图像脚本
Jun 22 Python
python字典的遍历3种方法详解
Aug 10 Python
Django--权限Permissions的例子
Aug 28 Python
python实现统计代码行数的小工具
Sep 19 Python
pandas数据处理进阶详解
Oct 11 Python
python def 定义函数,调用函数方式
Jun 02 Python
python+openCV对视频进行截取的实现
Nov 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
收音机频率指针指示不准确和灵敏度低问题
2021/03/02 无线电
php格式化时间戳显示友好的时间实现思路及代码
2014/10/23 PHP
WordPress中创建用户角色的相关PHP函数使用详解
2015/12/25 PHP
WordPress开发中用于标题显示的相关函数使用解析
2016/01/07 PHP
php短信接口代码
2016/05/13 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
xml 与javascript结合的问题解决方法
2007/03/24 Javascript
比较全的JS checkbox全选、取消全选、删除功能代码
2008/12/19 Javascript
javascript新建标签,判断键盘输入,以及判断焦点(示例代码)
2013/11/25 Javascript
JavaScript实现跨浏览器的添加及删除事件绑定函数实例
2015/08/04 Javascript
使用impress.js制作幻灯片
2015/09/09 Javascript
JavaScript 基础函数_深入剖析变量和作用域
2016/05/18 Javascript
jQuery如何跳转到另一个网页 就这么简单
2016/12/28 Javascript
js鼠标跟随运动效果
2017/03/11 Javascript
Angular2学习教程之组件中的DOM操作详解
2017/05/28 Javascript
微信小程序 新建登录页并实现tabBar隐藏
2017/06/13 Javascript
基于jQuery实现定位导航位置效果
2017/11/15 jQuery
微信公众号平台接口开发 获取access_token过程解析
2019/08/14 Javascript
vue实现图片按比例缩放问题操作
2020/08/11 Javascript
[38:32]完美世界DOTA2联赛循环赛 Forest vs DM 第二场 11.06
2020/11/06 DOTA
Python实现的异步代理爬虫及代理池
2017/03/17 Python
详解python上传文件和字符到PHP服务器
2017/11/24 Python
pygame实现简易飞机大战
2018/09/11 Python
python实现比较类的两个instance(对象)是否相等的方法分析
2019/06/26 Python
Python之关于类变量的两种赋值区别详解
2020/03/12 Python
如何基于线程池提升request模块效率
2020/04/18 Python
加拿大领先的时尚和体育零售商:Sporting Life
2019/12/15 全球购物
企业厂长岗位职责
2013/12/17 职场文书
本科生的职业生涯规划范文
2014/01/09 职场文书
公司周年庆典策划方案
2014/05/17 职场文书
预防艾滋病宣传标语
2014/06/25 职场文书
先进个人材料怎么写
2014/12/30 职场文书
李强为自己工作观后感
2015/06/11 职场文书
发票退票证明
2015/06/24 职场文书
广告文案的撰写技巧(实用干货)
2019/08/23 职场文书
深入浅析Django MTV模式
2021/09/04 Python