修复CentOS7升级Python到3.6版本后yum不能正确使用的解决方法
之前把现有这台阿里CentOS7.2系统的Python2.7.5升级成Python3.6后,yum工具就不能不觉使用了。当时查了下说明python版本的问题,但是用网上的方法还是没解决,后面也就一直没管了。最近要弄一个Nodejs小程序,需要用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查看这个文件根本没有这一行:
2 解决方法
由于找不到报错的位置,只能考虑重新安装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工具:
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
的错误。
问题是一样的,要么把 /usr/libexec/urlgrabber-ext-down
文件中所有的except写法改成Python3,要么修改第1行的解释器声明。显然第2种方法更新简单有效。
3 解决完毕
到此,可以愉快地使用 yum -y update
命令更新CentOS系统,然后做开发了!
总结
以上所述是小编给大家介绍的修复CentOS7升级Python到3.6版本后yum不能正确使用的解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 缓冲区溢出
- 指针变量的传值和传址
- 又被限速,我决定用 Serverless 搭建一款私人网盘
- C语言与C++常见面试题
- delete 和 delete [] 的真正区别
- C语言最大难点揭秘:编程的祸根!
- 【漏洞修复】MongoDB未授权访问漏洞复现和修复
- 在 Istio 中实现 Redis 集群的数据分片、读写分离和流量镜像
- 实现Android 滑动退出Activity的功能
- Android开发中播放声音的两种方法分析
- Android UI设计与开发之实现应用程序只启动一次引导界面
- Android编程实现两点触控功能示例
- Android RecycleView添加head配置封装的实例
- Android编程实现捕获程序异常退出时的错误log信息功能详解
- Android开发之Socket通信传输简单示例