1. 問題背景
Centos6.5默認自帶的python環境是2.6.6,python的一些特性沒法使用,所以要對python進行升級,借鑒了網上其他同學的安裝教程,但是還是遇到一些坑,不是那木順利,順便把遇到的問題寫下來,希望遇到相同問題的同學能很快解決。
2. 安裝Python2.7.9
2.1 下載安裝包
wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
2.2 解壓、編譯、安裝
# 解壓下載的安裝包 tar zxvf Python-2.7.9.tgz #進入目錄 cd Python-2.7.9 #設置安裝路徑 ./configure --prefix=/usr/local/python/python2.7 #編譯 make #安裝 make install
2.3 修改系統環境
上面執行成功后pytho2.7.9算是安裝成功了,但是便於使用則需要把/usr/bin/下的python命令替換成python2.7,
#備份原先的python命令 mv /usr/bin/python /usr/bin/python.bak #將python2.7.9的命令指向/usr/bin目錄下 ln -s /usr/local/python/python2.7/bin/python2.7 /usr/bin/python #檢查是否替換成功,成功的話如下圖所示 python -V
2.4 修改yum
此時python可以用了,但是你會發現yum已經沒法用了,yum是采用的python2.6的版本,所以要改一下yum的配置
vim /usr/bin/yum
#看一下yum是否又可以正常工作了 yum list
3. 安裝pip
既然安裝了python,pip自然是需要的了,pip對一些庫的安裝還是很方便的,當然我就是在這里與到了坑,安裝pip的時候失敗了。
# 下載get-pip curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py #安裝pip python get-pip.py
出現了如下錯誤,會重試好幾次
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
3.1 解決問題
# 檢查openssl,是不是有兩個,如果是一個的話,看是不是少了openssl-devel rpm -aq|grep openssl # 安裝openssl-devel yum install openssl-devel -y
# 再次檢查,下圖正常
rpm -aq|grep openssl
3.2 重新編譯執行安裝Python2.7.9
#進入目錄 cd Python-2.7.9 #設置安裝路徑 注意這里加了--with-ssl ./configure --prefix=/usr/local/python/python2.7 --with-ssl #編譯 make #安裝 make install
3.3 重新安裝pip
#安裝pip
python get-pip.py
安裝成功,可以用了,在python的安裝目錄下就可以看到pip了
借鑒了如下文章: