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

相关推荐

  • 有关Linux中的wget命令详细操作教程方法

    如果您有服务器咨询问题、购买问题、可以联系我们客服 7271895 690624商祺云-阿里代理、景安代理、西部代理 这篇文章主要为大家详细介绍了Linux的wget命令,教大家如何使用wget,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 Linux wget是一个下载文件的工具,它用在命令行下。对于Linux用户是必不可少的工具,尤其对于网络管理员,…

    服务器运维 2019年1月4日
    3.0K00
  • HTTP 错误 500.0 – Internal Server Error

    错误出现情形:此错误一般出现在网站搬家到新网站空间报错。 错误原因:web.config文件中定义的php版本路径出错。 原有空间php文件路径: 新空间文件路径: 修改后就能正常使用了

    2018年7月17日
    5.0K00
  • 宝塔数据库报错:ERROR! MySQL server PID file could not be found!

    问题描述 客户因给服务器清理日志、不清楚具体操作了什么 ,清理完成以后,数据库启动不了。报错如下: [root@VM-0-5-centos ~]# /etc/init.d/mysqld restartERROR! MySQL server PID file could not be found!Starting MySQL…. ERROR! Th…

    2021年7月21日
    3.7K00
  • 使用ECS安全组工具撤销之前如何进行账号间互通的操作-linux运维-学派吧

    本篇文章给大家带来的内容是关于使用ECS安全组工具撤销之前如何进行账号间互通的操作,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 使用ECS安全组工具撤销之前账号间互通的操作 需要准备的信息: 1、账号名:顾名思义,就是登录控制台的账号 2、ECS对应的安全组:打通了账号内网互通的ECS所在的安全组,可以在控制台查看到,或通过API方法来查…

    服务器运维 2018年11月21日
    2.3K00
  • Linux(centos)重启命令是什么及详解

    Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。 Linux 有五个重启命令 1、shutdown shutd…

    2019年3月13日
    5.1K00

发表回复

登录后才能评论
联系我们

联系我们

18838889666

在线咨询: QQ交谈

邮件:xinyun@88.com

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

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