yum需要用python2編譯,如果服務器安裝的是python3.6並作為默認編譯器的話,就會出現這個錯誤。
[root@localhost vagrant]# yum info zip File "/bin/yum", line 30 except KeyboardInterrupt, e: ^ SyntaxError: invalid syntax [root@localhost vagrant]# yum search zip File "/bin/yum", line 30 except 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 sys try: import yum except ImportError: print >> sys.stderr, """\
修改后
#!/usr/bin/python2 import sys try: 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 # Copyright 2011-2012 Zdenek Pavlas
修改后
#! /usr/bin/python2 # A very simple external downloader # Copyright 2011-2012 Zdenek Pavlas