yum需要用python2编译,如果服务器安装的是python3.6并作为默认编译器的话,就会出现这个错误。
[root@localhost vagrant]# yum info zip
File"/bin/yum", line 30except KeyboardInterrupt, e:^SyntaxError: invalid syntax
[root@localhost vagrant]# yum search zip
File"/bin/yum", line 30except KeyboardInterrupt, e:^SyntaxError: invalid syntax
这是因为在/usr/bin/yum脚本的首行中指定了 #!/usr/bin/python,将python3.6作为默认编译器,就会默认使用python3.6进行编译,所以报错
目前,yum需要用python2编译,而不能用python3编译,所以只需要在yum脚本中指定编译器python的版本就行了
vim /usr/bin/yum
修改前
#!/usr/bin/python
import systry:
import yum
except ImportError:
print>> sys.stderr, """\
修改后
#!/usr/bin/python2
import systry:
import yum
except ImportError:
print>> sys.stderr, """\
只修改usr/bin/yum是不够的,还需要修改 /usr/libexec/urlgrabber-ext-down脚本,因为这个脚本也需要python2作为编译器
vim /usr/libexec/urlgrabber-ext-down
修改前
#! /usr/bin/python
# A very simple external downloader
# Copyright2011-2012 Zdenek Pavlas
修改后
#! /usr/bin/python2
# A very simple external downloader
# Copyright2011-2012 Zdenek Pavlas