python升级带来的yum异常问题:File “/usr/bin/yum”, line 30

今天给大家带来一个关于python的问题。

python升级带来的yum异常问题:File "/usr/bin/yum", line 30

问题:

$ yum

File “/usr/bin/yum”, line 30

except KeyboardInterrupt, e:

^

SyntaxError: invalid syntax

原因:

这是因为yum采用python作为命令解释器,这可以从/usr/bin/yum文件中第一行#!/usr/bin/python发现。而python版本之间兼容性不太好,使得2.X版本与3.0版本之间存在语法不一致问题。而CentOS 5自带的yum采用的是python2.4,当系统将python升级到2.6或3.0后,出现语法解释错误。

解决办法:

很简单,一是升级yum,一是修改yum的解释器为旧版本python2.4(如果你没有采用覆盖升级的话)。

升级yum的作法就不详述了。修改yum的解释器为旧版本python2.4:

$ vi /usr/bin/yum

将第一行”#!/usr/bin/python” 改为 “#!/usr/bin/python2.4″即可。
或者修改默认的python版本,/usr/bin/python为2.4.

[root@rhel6lhr Packages]# yum install  perl-IO-Socket-SSL
  File "/usr/bin/yum", line 30
    except KeyboardInterrupt, e:
                            ^
SyntaxError: invalid syntax
[root@rhel6lhr Packages]# python
Python 3.6.4 (default, Apr 15 2018, 10:55:33) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit
Use exit() or Ctrl-D (i.e. EOF) to exit
>>> exit()
[root@rhel6lhr Packages]# 
[root@rhel6lhr Packages]# 
[root@rhel6lhr Packages]# 
[root@rhel6lhr Packages]# which python
/usr/bin/python
[root@rhel6lhr Packages]# python
python             python2.6          python3            python3.6-config   python3.6m-config  python_bk          
python2            python2_bk         python3.6          python3.6m         python3-config     
[root@rhel6lhr Packages]# ll /usr/bin/python
lrwxrwxrwx 1 root root 34 Apr 15  2018 /usr/bin/python -> /usr/bin/python3.6.4/bin/python3.6
[root@rhel6lhr Packages]# rm -rf /usr/bin/python
[root@rhel6lhr Packages]# ll /usr/bin/python    
ls: cannot access /usr/bin/python: No such file or directory
[root@rhel6lhr Packages]# ll /usr/bin/python3.6.4/bin/python3.6
-rwxr-xr-x 2 root root 10037966 Apr 15  2018 /usr/bin/python3.6.4/bin/python3.6
[root@rhel6lhr Packages]# python2
Python 2.6.6 (r266:84292, Sep  4 2013, 07:46:00) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> exit
Use exit() or Ctrl-D (i.e. EOF) to exit
>>> 
>>> exit()
[root@rhel6lhr Packages]# 
[root@rhel6lhr Packages]# 
[root@rhel6lhr Packages]#  ln -s /usr/bin/python2 /usr/bin/python

主题测试文章,只做测试使用。发布者:云大使,转转请注明出处:https://www.xp8.net/server/3751.html

赞 (0)
打赏 微信扫一扫 微信扫一扫
宝塔收费插件免费领取-免费专业版领取-宝塔专业版特价活动
上一篇 2019年7月16日 上午12:44
宝塔(bt)面板如何设置自定义404-学派吧
下一篇 2019年7月23日 下午11:19

相关推荐

  • 腾讯云跨账号内网互通创建对等连接通信

    VPC 跨地域通信以及跨账号通信都是对等连接的高级功能,本文将通过示例,为您介绍如何实现跨账号通信。 示例说明 网段1:广州的 VPC1 中子网 A 192.168.1.0/24。 网段2:北京的 VPC2 中子网 B 10.0.1.0/24。 通过跨账号创建对等连接,实现网段1和网段2互通,需要三个步骤,具体操作请参见下文。 步骤 1:创建对等连接 登录 …

    2022年3月4日
    4.0K00
  • linux中gerp有什么用及使用教程详解

    Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。 Linux grep命令 Linux grep命令用于查找文件里符合条件的字符串;也可以用于查找内容包含指定的范本样式的文件。它能使用正则表达式搜索,用于在文件中搜索指定的字符串模式,列出含有匹配模式子符串的文件名,并输出含有该字符串的文本行。 grep…

    2019年3月13日
    3.4K00
  • 腾讯云小白云服务器CVM 镜像迁移-跨地域/跨可用区/跨账号

    本文为您提供云服务器 CVM 实例迁移的操作指引,包括 跨地域迁移、跨可用区迁移、跨账号迁移 三种场景。 跨地域迁移:例如将实例数据从广州地域迁移到北京地域;跨越不同的地理位置,不同地域之间完全隔离。 跨可用区迁移:例如将实例数据从广州六区迁移至广州七区;在同一地域内,跨越电力和网络互相独立的物理数据中心。 跨账号迁移:例如将实例数据从账号A迁移至账号B;实…

    2026年1月13日
    59400
  • 学派吧-Docker手动添加网桥方法详解-linux教程

    本篇文章主要介绍了Docker如何添加自定义网桥,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 Docker服务进程在启动的时候会生成一个名为docker0的网桥,容器默认都会挂载到该网桥下,但是我们可以通过添加docker启动参数-b Birdge 或更改docker配置文件来选择使用哪个网桥。 操作系统:centos7 删除…

    服务器运维 2018年12月12日
    2.3K00
  • apache防盗链和隐藏版本信息-Linux运维-学派吧

    有需要服务器方面的需求和咨询,可以联系博主 QQ 7271895 文章目录[隐藏] 一、防盗链 二、隐藏版本信息 实验要求: 三台虚拟机分别是:linux和两台windows虚拟机,linux虚拟机为服务器,Windows7-1为客户端,Windows7-2为盗链端。 实验步骤: 一、防盗链 1.把httpd、apr、apr-util安装包解压缩到/opt目…

    2018年9月30日
    2.2K00

发表回复

登录后才能评论
联系我们

联系我们

18838889666

在线咨询: QQ交谈

邮件:xinyun@88.com

工作时间:周一至周五,9:30-18:30,节假日休息

添加微信
添加微信
分享本页
返回顶部