1.错误原因
- File “/usr/bin/yum”, line 30 except KeyboardInterrupt, e: ^SyntaxError: invalid syntax
1
因为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等工具(升级)
参考文章路径 https://blog.youkuaiyun.com/m0_37886429/article/details/75009382
3.处理方式二:修改对应py文件头的环境变量
以yum为例
vim /usr/bin/yum
1
按下I键,进入编辑状态,修改/usr/bin/yum文件中的第一行为你对应的初始python版本号:
#!/usr/bin/python2.7
1
Esc键退出,:wq!保存并退出,可以正常使用了(不过使用的仍然是旧版本)
pip等同样方式修改文件头即可
————————————————
版权声明:本文为优快云博主「Cheny1m」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/qq_19716143/article/details/119422796
注意******************
准备相关的软件包
这里使用网易的镜像网站,下载地址为
http://mirrors.163.com/centos/7/os/x86_64/Packages/