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
下一篇 2019年7月23日 下午11:19

相关推荐

  • linux小白如何衡量云硬盘的性能 根据性能选择硬盘

    提供的块存储设备根据类型的不同拥有不同的性能和价格,详细信息请参见 云硬盘类型。由于不同应用程序的工作负载不同,若未提供足够的 I/O 请求来充分利用云硬盘时,可能无法达到云硬盘的最大性能。 一般使用以下指标衡量云硬盘的性能: IOPS:每秒读/写次数,单位为次(计数)。存储设备的底层驱动类型决定了不同的 IOPS。 吞吐量:每秒的读写数据量,单位为MB/s…

    2026年1月13日
    7500
  • linux/centos下使用kill命令的使用教程方法

    kill命令 kill命令用来删除执行中的程序或工作。kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。程序或工作的编号可利用ps指令或job指令查看。 语法 kill(选择)(参数) 选项-a:当处理当前进程时,不限制命令名和进程号的对应关系;-l &l…

    2019年4月13日
    4.7K00
  • SaltStack设置配置教程 | Linux运维教程

    SaltStack简介 SaltStack是基于Python开发的一套C/S架构配置管理工具(功能不仅仅是配置管理,如使用salt-cloud配置AWS EC2实例),它的底层使用ZeroMQ消息队列pub/sub方式通信,使用SSL证书签发的方式进行认证管理。 号称世界上最快的消息队列ZeroMQ使得SaltStack能快速在成千上万台机器上进行各种操作,…

    服务器运维 2018年11月21日
    2.5K00
  • 将宝塔面板linux版装在/www以外的目录的方法

    很多云VPS系统盘,也就是根目录(系统盘)都是10个G,宝塔安装完整环境基本5个G没有了,用了不到几个月,随着日志文件等乱七八糟的东西增加,面板就提示根目录低于1个G,随后mysql就莫名其妙挂掉,这里就为大家分享一下将面板安装到别的目录的方法本人在饱受重装系统折磨之后,终于忍无可忍将宝塔面板安装到home下(home分区一般都很大) 宝塔面板官方的安装脚本…

    2018年7月9日
    2.6K00
  • apache重启时让其自动输入ssl密码-linux运维-学派吧

    编辑:/etc/httpd/conf.d/ssl.conf vim ssl.conf 找到: # SSLPassPhraseDialog builtin 修改成: SSLPassPhraseDialog exec:/etc/httpd/conf.d/key.sh 创建:key.sh 编辑:/etc/httpd/conf.d/key.sh vim key.sh…

    服务器运维 2018年9月30日
    2.3K00

发表回复

登录后才能评论
联系我们

联系我们

18838889666

在线咨询: QQ交谈

邮件:xinyun@88.com

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

添加微信
添加微信
分享本页
返回顶部
---------官方优惠叠加渠道折扣:通过我们购买腾讯云/阿里云,价格更低,服务更优。更有专业配置指导与服务。微信同步:18838889666----