File “/usr/bin/yum“, line 30 except KeyboardInterrupt, e: python版本问题造成的yum运行失败解决方法

File “/usr/bin/yum”, line 30 yum安装软件时候报告的一个问题

File “/usr/bin/yum”, line 30
except KeyboardInterrupt, e:
^^^^^^^^^^^^^^^^^^^^
SyntaxError: multiple exception types must be parenthesized

这个问题是python版本问题造成的语法格式错误,需要指定正确的python版本的路径,在本例中,是在文件yum的第一行 /usr/bin/python 改为 /usr/bin/python2.7 。
再次执行yum,还是会报错:

Traceback (most recent call last):
File “/usr/bin/yum”, line 4, in < module>
import yum
ModuleNotFoundError: No module named ‘yum’

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File “/usr/bin/yum”, line 6, in
< module>
print >> sys.stderr, “”"\ TypeError: unsupported operand type(s) for >>: ‘builtin_function_or_method’ and
‘_io.TextIOWrapper’. Did you mean “print(< message>,
file=<output_stream>)”?

解决办法:在yum文件的第30行,将该语句

except KeyboardInterrupt, e:

改为:

except KeyboardInterrupt as e:

File “/usr/libexec/urlgrabber-ext-down”, line 28 yum安装软件时候报告的另一个问题

File “/usr/libexec/urlgrabber-ext-down”, line 28
except OSError, e:
^^^^^^^^^^
SyntaxError: multiple exception types must be parenthesized

由于用户取消而退出
python 2.x
也是同样的python版本问题引起的。解决办法如下:
找到/usr/libexec/urlgrabber-ext-down 文件的第一行,修改python路径,改为 /usr/bin/python2.7

然后,找到第28行,修改:

except OSError, e:

, 改为

except OSError as e:

python和yum版本不一致问题总结

yum是用python作为解释器。
python升级容易引起yum问题。
常见的解决办法是在bash脚本文件里指定版本,以及修改某些不兼容的语法。
Centos 7.x版本对应的python版本通常是python2.7 。

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值