之前把現(xiàn)有這臺(tái)阿里CentOS7.2系統(tǒng)的Python2.7.5升級(jí)成Python3.6后,yum工具就不能不覺(jué)使用了。當(dāng)時(shí)查了下說(shuō)明python版本的問(wèn)題,但是用網(wǎng)上的方法還是沒(méi)解決,后面也就一直沒(méi)管了。最近要弄一個(gè)Nodejs小程序,需要用yum安裝一些開(kāi)發(fā)工具,不得不修復(fù)這個(gè)問(wèn)題。
 
 
直接執(zhí)行 yum 命令就會(huì)提示 /usr/bin/yum 文件第34行有錯(cuò)誤:
[root@typecodes ~]# yumFile "/usr/bin/yum", line 34 ^SyntaxError: EOF while scanning triple-quoted string literal[root@typecodes ~]#
但是vim查看這個(gè)文件根本沒(méi)有這一行:
 
 
由于找不到報(bào)錯(cuò)的位置,只能考慮重新安裝yum了。
 
 
[root@typecodes ~]# wget -c http://yum.baseurl.org/download/3.4/yum-3.4.3.tar.gz[root@typecodes ~]# tar -zxf yum-3.4.3.tar.gz[root@typecodes ~]# cd yum-3.4.3/
接著使用 python2 yummain.py install yum 命令(還是不能使用python3來(lái)執(zhí)行)重新安裝yum工具:
 
 
嘗試執(zhí)行 yum 命令,在 /usr/bin/yum 文件的第30行報(bào)錯(cuò):
[root@typecodes yum-3.4.3]# yumFile "/usr/bin/yum", line 30 except KeyboardInterrupt, e: ^SyntaxError: invalid syntax[root@typecodes yum-3.4.3]#
顯然上面的 except 是python2的寫(xiě)法,當(dāng)然不能使用默認(rèn)的Python3來(lái)執(zhí)行了。于是把這個(gè)文件第1行的 #!/usr/bin/python 替換成 #!/usr/bin/python2 。
嘗試執(zhí)行 yum -y update 命令更新CentOS系統(tǒng),結(jié)果在文件 /usr/libexec/urlgrabber-ext-down 第28行處還是報(bào) SyntaxError: invalid syntax 的錯(cuò)誤。
 
 
問(wèn)題是一樣的,要么把 /usr/libexec/urlgrabber-ext-down 文件中所有的except寫(xiě)法改成Python3,要么修改第1行的解釋器聲明。顯然第2種方法更新簡(jiǎn)單有效。
到此,可以愉快地使用 yum -y update 命令更新CentOS系統(tǒng),然后做開(kāi)發(fā)了!
 
 
總結(jié)
以上所述是小編給大家介紹的修復(fù)CentOS7升級(jí)Python到3.6版本后yum不能正確使用的解決方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)武林站長(zhǎng)站網(wǎng)站的支持!
新聞熱點(diǎn)
疑難解答
圖片精選