1. 程式人生 > >升級python2到python3後 yum指令失效了 解決辦法

升級python2到python3後 yum指令失效了 解決辦法

升級python2到python3之後,使用yum命令時報一下錯誤:

[[email protected] ~]# yum -y install zlib
  File "/usr/bin/yum", line 30
    except KeyboardInterrupt, e:
                            ^
SyntaxError: invalid syntax

這是因為yum採用python作為命令直譯器,這可以從/usr/bin/yum檔案中第一行#!/usr/bin/python發現。而python版本之間相容性不太好,使得2.X版本與3.0版本之間存在語法不一致問題。當系統將python升級到2.7或3.6後,出現語法解釋錯誤。

解決辦法:

一是修改yum的直譯器為舊版本python2.7(如果你沒有采用覆蓋升級的話)。

修改yum的直譯器為舊版本python2.7:

$ vi /usr/bin/yum

將第一行"#!/usr/bin/python" 改為 "#!/usr/bin/python2.7"即可。

而我在安裝新版本python時將原來的python2.7改為python_old2.7,如下圖:

cd /usr/bin


圖中藍色的python是我新安裝的3.6.1 ,紅色的都是失效了的,綠色的python_old2.7是之前的老版本,所以講/usr/bin/yum中的開頭修改為:#!/usr/bin/python_old2.7

即可。

最後,如果再遇到SyntaxError: invalid syntax這樣的報錯,說明python報錯了,要考慮python程式或者python版本問題,比如,我的yum好了之後,我想執行yum -y install zlib* 來安裝zlib 這時報了下面錯誤:


這又是python版本的問題,所以又將/usr/libexec/urlgrabber-ext-down的第一行#!/usr/bin/python修改為了#!/usr/bin/python_old2.7,就可以正常安裝了。