【环境配置/解决报错】 File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: ^ Syntax
背景
系统:centos7
新安装了python3.8,并创建了软链接,使得python
指向python3.8
在运行yum
安装命令时出现如下报错
报错内容
File "/usr/bin/yum", line 30
except KeyboardInterrupt, e:
^ Syntax
报错原因
可能是在Linux环境中新安装了Python3.8,并使得python命令默认为3.8,但是yum的许多配置文件是使用python2来进行编译的,所以现在在yum配置文件/usr/bin/yum
头的#!/usr/bin/python
默认使用了python3,所以需要将这里的第一行改为#!/usr/bin/python2.7
。
但是配置文件有很多,难以一个个改,所以建议将系统python链接为python2,使用python3链接新安装的python版本。
使用如下命令:
- 首先使用
ls -l /usr/bin/python*
查看已有的python版本
可以看到我的python命令对应着python3.8,python2对应着python2.7。 - 将
python
链接到python2.7
:
sudo ln -s /usr/bin/python2.7 /usr/bin/python
前面一个路径是python2.7的位置,后面表示python
命令,如果出现如下报错:
ln: failed to create symbolic link ‘/usr/bin/python’: File exists
是因为之前已经创建过python命令的软连接,可以将这个已有的/usr/bin/python
删除,或使用mv命令做一个备份
mv /usr/bin/python /usr/bin/python.bak
然后再执行:
sudo ln -s /usr/bin/python2.7 /usr/bin/python
此时如果在命令行输入python
,则会出现如下,则说明已经将python命令改回来了。
- 将python3.8链接到python3命令:
sudo ln -s /home/***/python3/bin/python3.8 /usr/bin/python3
此时,在命令行输入python3
,则出现如下:
此时再去运行yum命令就不会报错了