1.错误原因
1. File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: ^SyntaxError: invalid syntax
- 因为yum采用python作为命令解释器,原来系统自带的python解释器为python2,然后有可能之前在配置开发环境时,将python默认的解释器设为了python3,导致按python3解析python2的语法出错了。
- 同理,在使用pip,virtualenv等依赖原版本python的工具也会出现此类问题
- 如果你已经误删了Centos系统自带的python版本,请参考此文章进行恢复。
- 如果你只是修改了原来的软链接,使得python实际指向的是新版本的python的话,那pip等仍依赖旧版本的工具要么重装要么修改它py文件的首行(即py文件头的环境变量)
上述两种情况自查:
键入python
后,按住Tab
键(有可能需要按两次)补全,可以看到现有的所有python版本,我这里初步查看后都是最初的2.7.5版本,如下图。更多python版本升级相关内容可以查看文章)
其中键入python
显示的版本就是当前默认软连接的版本
如果查看所有版本后,发现没有python2.x,那么是第一种情况
如果有python2.x,但是python
软连接的版本是3.x(即键入python
显示的版本),那么就是第二种情况
2.处理方式一:重装yum等工具(升级)
3.处理方式二:修改对应py文件头的环境变量
- 以yum为例
vim /usr/bin/yum
- 按下
I
键,进入编辑状态,修改/usr/bin/yum文件中的第一行为你对应的初始python版本号:
#!/usr/bin/python2.7
Esc
键退出,:wq!
保存并退出,可以正常使用了(不过使用的仍然是旧版本)- pip等同样方式修改文件头即可