<a href="http://blog.csdn.net/jcjc918/article/details/11022345" target="_blank">http://blog.csdn.net/jcjc918/article/details/11022345</a>
檢視python的版本
#python -V
Python 2.6.6
1.下載下傳Python-2.7.3
#wget http://python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2
2.解壓
#tar -jxvf Python-2.7.3.tar.bz2
3.更改工作目錄
4.安裝
安裝依賴:
yum -y install gcc-c++ readline-devel sqlite-devel bzip2-devel openssl-devel libdbi-devel ncurses-devel zlib-devel gdbm-devel
更新安裝zlib
# wget http://sourceforge.net/projects/libpng/files/zlib/1.2.8/zlib-1.2.8.tar.gz
# tar -zxvf zlib-1.2.8.tar.gz
# cd zlib-1.2.8
# ./configure
# make install
#cd Python-2.7.3
#./configure
#make all
#make install
#make clean
#make distclean
5.檢視版本資訊
#/usr/local/bin/python2.7 -V
6.建立軟連接配接,使系統預設的 python指向 python2.7
#mv /usr/bin/python /usr/bin/python2.6.6
#ln -s /usr/local/bin/python2.7 /usr/bin/python
7.重新檢驗Python 版本
#python -V
8解決系統 Python 軟連結指向 Python2.7 版本後,因為yum是不相容 Python 2.7的,是以yum不能正常工作,我們需要指定 yum 的Python版本
#vi /usr/bin/yum
将檔案頭部的
#!/usr/bin/python
改成
#!/usr/bin/python2.6.6
<a href="http://www.zhangchun.org/the-centos6-3-upgrade-python-to-2-7-3-" target="_blank">http://www.zhangchun.org/the-centos6-3-upgrade-python-to-2-7-3-</a>
這篇教程就到這裡了,但是不久就突然發現輸入法圖示不見了,然後打字沒有候選框!iBus 崩了!再次進行搜尋,又是版本問題 iBus也是不支援Python2.7的啊!
于是。。。
9.配置iBus
分别用 vi 打開下面兩個檔案,找到 exec python 那一行,把exec python 改為 exec python2.6 儲存,退出。iBus在重新開機後就恢複正常了!是不是很開心?
#vi /usr/bin/ibus-setup
<a></a>
#vi/usr/libexec/ibus-ui-gtk
在編譯的時候,Python出現了下面的提示資訊:
當然,每個機器上因為不同的配置,編譯報錯資訊也會不同,比如網上有人的報錯就是下面這樣的:
無論報錯資訊如何,意思很明确,我們編譯的時候,系統沒有辦法找到對應的子產品資訊,為了解決這些報錯,我們就需要提前安裝依賴包,這些依賴包對應清單如下(不一定完全):
子產品
依賴
說明
_bsddb
bsddb
Interface to Berkeley DB library。Berkeley資料庫的接口
_curses
ncurses
Terminal handling for character-cell displays。
_curses_panel
A panel stack extension for curses。
_sqlite3
sqlite
DB-API 2.0 interface for SQLite databases。SqlLite,CentOS可以安裝sqlite-devel
_ssl
openssl-devel.i686
TLS/SSL wrapper for socket objects。
_tkinter
N/A
a thin object-oriented layer on top of Tcl/Tk。如果不使用桌面程式可以忽略TKinter
bsddb185
old bsddb module
老的bsddb子產品,可忽略。
bz2
bzip2-devel.i686
Compression compatible with bzip2。bzip2-devel
dbm
Simple “database” interface。
dl
Call C functions in shared objects.Python2.6開始,已經棄用。
gdbm
gdbm-devel.i686
GNU’s reinterpretation of dbm
imageop
Manipulate raw image data。已經棄用。
readline
readline-devel
GNU readline interface
sunaudiodev
Access to Sun audio hardware。這個是針對Sun平台的,CentOS下可以忽略
zlib
Zlib
Compression compatible with gzip
在CentOS下,可以安裝這些依賴包:readline-devel,sqlite-devel,bzip2-devel.i686,openssl-devel.i686,gdbm-devel.i686,libdbi-devel.i686,ncurses-libs,zlib-devel.i686。完成這些安裝之後,可以再次編譯,上表中指定為棄用或者忽略的子產品錯誤可以忽略。
在編譯完成之後,就可以接着上面的第六步安裝Python到指定目錄下。安裝完成之後,我們可以到安裝目錄下檢視Python是否正常安裝。
1. 我們進入到安裝路徑下的bin目錄, 并檢視安裝的版本(版本是2.7.6)
2. 将現有的python版本重命名備份
3. 建立新版本Python到 <code>/usr/bin</code> 目錄下替代原有python
4. 測試系統Python版本(應該是新的2.7.6)
5. 此時如果yum不能正常工作,可以簡單的通過sed将裡面的Python引用替換成原來的Python路徑即可。
至此,完成Python的更新編譯安裝工作。如果你想完成自動安裝,可以将前面的代碼儲存為Shell腳本檔案——需要注意的是,你可能需要添加各個子產品的安裝腳本,本篇的是通過yum來安裝的。也可以通過參考2中的文章,文中包含自動安裝的腳本檔案。
本文轉自 yntmdr 51CTO部落格,原文連結:http://blog.51cto.com/yntmdr/1747460,如需轉載請自行聯系原作者