升级完python后(python2升级到python3,并且将原来的/usr/bin下的python软连接给替换成python3的了),执行yum安装或查看命令都会产生这个错误:
- [root@localhost bin]# yum
- File "/usr/bin/yum", line 30
- except KeyboardInterrupt, e:
- ^
- SyntaxError: invalid syntax
发现是python执行报的错,再加上刚升级完python,基本确定是Python问题。
1、删除新创建的软连接:
cd /usr/bin
rm -f python
2、从另外一个同版本操作系统且Python没有升级的环境(主机B)上,将/usr/bin/python拷贝到出错的这台主机(A)上:
scp 主机B:/usr/bin/python 主机A:/usr/bin
3、如果出问题的这台主机(A)上面还想要用Python3,建议将软连接名改为python3,比如python3安装在/usr/local/python3下:
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
或者,如果只是想用yum,而不管其他程序以及默认的python用哪个版本,可以只修改如下两个文件即可(将如下2条命令中的/usr/bin/pyhon2.7改为你环境中实际的python版本和路径):
sed -i "s#/usr/bin/pyhon#/usr/bin/pyhon2.7#g" /usr/libexec/urlgrabber-ext-down
sed -i "s#/usr/bin/pyhon#/usr/bin/pyhon2.7#g" /usr/bin/yum