centos6.5系統自帶了2.6.6版本的python,有時候為了項目上的需要,需要將python版本升級到2.7.13,下面介紹了如何進行升級。
說明:python從2.6升級到2.7會引發很多問題,很多依賴python2.6的軟件不能運行,需要一個個的修改配置文件(比如本文提到的yum問題),感覺升級2.7像是埋了一個雷,沒准哪天用到什么軟件發現不能運行。個人感覺,除非有特別的必要,要不然還是別升級了。
1,從官網下載最新版本的python
https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz
2,放在任意目錄,比如/root下,解壓
3,安裝readline和readline-devel,如果不安裝的話,升級之后的2.7版本python在命令行按刪除,上下左右移動的時候是特殊字符,用起來很不方便。
yum install -y readline readline-devel
4,更改setup文件
vim /root/Python-2.7.13/Modules/Setup
將166行
readline readline.c -lreadline -ltermcap
前面的#號去掉,保存退出。
5,編譯python2.7
在/root/Python-2.7.13/目錄下運行
./configure --prefix=/usr/local/python2.7
6,安裝
編譯通過以后,執行
make && make install
8,后續工作
此時執行python --version看版本還是2.6.6,進行如下操作
將2.6.6版本python備份:
mv /usr/bin/python /usr/bin/python-old
將2.7.13版本python連接到這個目錄下
ln -s /usr/local/python2.7/bin/python /usr/bin
此時再執行python --version即可看到已經是最新版的python了。
9,yum處理,這么操作以后,yum就不能用了,因為yum用的還是老版本的python,可以通過下面的方式解決。
vim /usr/bin/yum
將第一行的python位置改成2.6.6版本python位置
即將
#!/usr/bin/python
改為
#!/usr/bin/python-old
此時再測試,yum也正常了。
10,至此,python2.7升級完成。