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

相关推荐

  • 学派网关于网络接口配置Bonding的实例教程-linux教程

    如果您有服务器咨询问题、购买问题、可以联系我们客服 7271895 690624商祺云-阿里代理、景安代理、西部代理 就是讲到快网卡绑定到同一IP地址对外服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP地址是不可能的。通过bonding,虚拟一块网卡对外提供连接,物理网卡被修改为同一MAC地址。 一 Bonding 的工作模式 Mode 0…

    服务器运维 2019年1月15日
    2.8K00
  • 阿里云 SSH登录Linux出现”Disconnected:No supported authentication methods available”错误

    问题描述 当您通过SSH客户端登录Linux系统的ECS实例时,输入正确的账号密码,也会出现类似以下错误信息。 Permission denied (publickey,gssapi-keyex,gssapi-with-mic). sshd[10826]: Connection closed by XX.XX.XX.XX. Disconnected: No …

    2021年4月13日
    2.7K00
  • 学派吧-Linux自动分区工具的示例详细介绍-linux教程

    注意:由于相关操作可能会导致数据丢失。 所以,执行操作之前,请务必确保已经通过快照等手段对数据进行有效备份,或明确相关数据丢失无影响。 普通云磁盘 适用系统:兼容线上所有非 IO 优化实例的普通云盘的 Liunx 版本。 使用方法:以 root 身份执行命令:bash auto_fdisk.sh。 适用场景:一键式检测是否有尚未分区的数据盘,并能对其格式化和…

    服务器运维 2018年12月12日
    2.5K00
  • Linux如何计算目录中的文件数量教程

    在Linux中如果想要知道一个目录中有多少文件,要怎么办?下面本篇文章就来带大家了解一下Linux中计算目录文件数的方法,希望对大家有所帮助。 在Linux中我们可以使用ls命令+wc命令来计算一个目录中的文件数了。 命令ls用于列出目录内容;wc命令用于计算文件中的数字行和字符,与-l一起使用可以计算行数。 要计算目录中的文件数,需要使用以下语法: #ls…

    2019年3月13日
    4.6K00
  • 将宝塔面板linux版装在/www以外的目录的方法

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

    2018年7月9日
    2.9K00

发表回复

登录后才能评论
联系我们

联系我们

18838889666

在线咨询: QQ交谈

邮件:xinyun@88.com

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

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