升級python版本的時候千萬不能卸載python 2.6,再安裝python2.7,這樣會有無窮無盡的麻煩,保守的方式
是直接安裝python2.7的源碼包,也就是python兩個版本共存。(因為Centos里面有很多程序是依賴着python,
所有最好不要嘗試去卸載python2.6)。
安裝python需要用到gcc工具,首先查看gcc是否安裝
# gcc -v
如果未安裝則使用yum命令安裝
# yum -y install gcc
下載最新安裝python包
# wget http://python.org/ftp/python/2.7.10/Python-2.7.10.tgz
解壓包
# tar -xzvf Python-2.7.10.tgz
編譯安裝
# cd Python-2.7.10
# ./configure --prefix=/usr/local/python2.7
# make && make install
(
注:如果想用最新的get-pip方式安裝pip, 在安裝python前先用yum安裝依賴包,不然會提示如下錯誤,
zipimport.ZipImportError: can't decompress data; zlib not available
cannot import name HTTPSHandler
# yum install zlib-devel or yum install zlibc zlib1g-dev
# yum install openssl openssl-devel or openssl*
***讓python支持zlib包,還需要在配置(./configure)之后修改Modules/Setup文件,
***# sudo vi Modules/Setup // 找到#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz這行代碼(460左右),刪除前面的“#”然后再進行編譯(make)、安裝(make install)
***經測試提前安裝好zlib-devel后,無需修改安裝文件,也可正常安裝get-pip.py
)
建立軟連接,使系統默認的python指向python2.7
正常情況下即使python2.7安裝成功后,系統默認指向的python仍然是2.6.6版本
如何實現將系統默認的python指向到2.7版本呢?
# mv /usr/bin/python /usr/bin/python.bak
# ln -s /usr/local/python2.7/bin/python2.7 /usr/bin/python # 添加軟連接
如果是默認安裝路徑則使用下面命令
# ln -s /usr/local/bin/python2.7 /usr/bin/python
檢驗python指向是否成功
# python -v
注意以后安裝的python工具包例如easy_install,pip等,都會安裝在/usr/local/python2.7/bin 目錄下
要想直接使用這些命令還需要把/usr/local/python2.7/bin添加到$PATH變量中
1、編輯/etc/profile文件(永久生效)
找到export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL這行上面加入
PATH=$PATH:/usr/local/python2.7/bin
重新初始化文件,使文件立即生效
source /etc/profile or . /etc/profile
2、在用戶目錄下的~/.bash_profile文件中增加變量,對單一用戶生效(永久的)
3、在shell的命令行下直接使用[export PATH=$PATH:/usr/local/python2.7/bin]定義變量,該變量只在當前的shell(BASH)或其子shell(BASH)下是有效的,shell關閉了,變量也就失效了(臨時的)
修復不能正常工作的yum,如果有使用yum的話會發現出錯,這是因為yum 依賴2.6.6而現在默認的 Python 版本是2.7.10。
# vi /usr/bin/yum
將首行顯示的 !#/usr/bin/python 修改為 !#/usr/bin/python2.6
