1. 程式人生 > >python升級((從2.6升級到了3.4.4)帶來的yum異常.sh

python升級((從2.6升級到了3.4.4)帶來的yum異常.sh

今天在安裝numpy模組時出現了yum的問題,如下:
[[email protected] bin]# yum install numpy scipy python-matplotlib ipython python-pandas sympy python-nose
  File "/usr/bin/yum", line 30
    except KeyboardInterrupt, e:
                            ^
SyntaxError: invalid syntax



突然想起來前幾天升級了Python的版本(從2.6升級到了3.4.4)
[[email protected] bin]# python
Python 3.4.4 (default, Mar 13 2016, 15:17:12) 
[GCC 4.4.4 20100726 (Red Hat 4.4.4-13)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 


其實主要的問題是RedHat作業系統的yum採用python作為命令直譯器,我們檢視/usr/bin/yum檔案中第一行#!/usr/bin/python就知道了。
而Python版本之間相容性不太好,使得2.x版本與3.x版本之間存在語法不一致問題。

 
解決辦法有兩種:
第一種方法: 升級yum版本
第二種方法: 修改yum的解析器使其支援原版本Python



這裡我採用第二種方法,畢竟我當時升級Python時保留了老的Python版本(具體詳見我總結的Python升級過程: http://blog.csdn.net/jiangshouzhuang/article/details/50890390)。
我們修改/usr/bin/yum檔案,將第一行修改為:
#!/usr/bin/python2.6_old


檢視yum檔案部分內容如下:
[[email protected] Python-3.4.4]# more /usr/bin/yum
#!/usr/bin/python2.6_old
import sys
try:
    import yum
except ImportError:
.......
.......