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

相关推荐

  • centos/ Linux如何配置文件和目录访问权限教程

    Unix和Linux操作系统分别给三个组(所有者,组和其他用户)中的每一个分配三种访问类型(读取,写入和执行)中的一个来设置对文件和目录的访问权限。下面本篇文章就来带大家了解一下在Unix / Linux如何配置文件和目录访问权限,希望对大家有所帮助。 如何查看文件和目录访问权限? 我们可以使用带有-l选项的ls命令来列出文件属性的详细信息,例如 ls -l…

    2019年3月23日
    3.7K00
  • inode索引节点用满报错mkdir: cannot create directory `xxx’: No space left on device

    小编今天维护一台服务器、数据库无法启动、也无法建立文件目录等操作。都提示No space left on device 后来仔细查看洗了 是因为inode满了。那就赶紧想办法清理下了。 命令:df -i 其中/dev/mapper/vg_have-lv_root 884208 884208 0 100% /索引节点 (inode)满了 已经找出问题所在,那么…

    2019年4月18日
    3.3K00
  • 如何在Docker容器里创建Apache Web服务-Linux运维-学派吧

    有需要服务器方面的需求和咨询,可以联系博主QQ 7271895(收费) 1. CentOS 和 Ubuntu安装 Docker 2. 创建Apache容器 作为Linux系统管理员,或多或少都有可能听说过Docker。因为这款软件可以有效降低运营成本,提升系统部署速度,让系统管理工作变得十分轻松。 但这一切也不是变魔术,Docker只是一个容器管理平台,可以…

    2018年9月30日
    2.0K00
  • apache默认对进行了编码的url 返回 404-Linux运维日志

    有运维或服务器方面的需求,可以联系博主 QQ 7271895 我们通常使用 urlencode()之类的函数将斜线编码成%开头的字符串 但是默认情况下 apache发现请求的URL中有对斜线的编码后的字符,是会返回404页面的 此时,就用到了 AllowEncodedSlashes on 指令允许请求继续被处理 如果apache配置的https,那么http…

    2018年9月30日
    2.2K00
  • 宝塔提示No space left on device无法进入面板的解决方法

    前言 宝塔No space left on device 此提示是提示磁盘没有空间,面板无法写入session导致无法登录面板(新面板已修复此问题)此时需要清理磁盘空间,请进ssh依次输入以下命令清理磁盘,或根据需求清理 清理网站日志/php站点session/系统邮件/临时文件 cd /www/server/panel && python tools.py…

    2018年9月21日
    3.5K00

发表回复

登录后才能评论
联系我们

联系我们

18838889666

在线咨询: QQ交谈

邮件:xinyun@88.com

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

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