python2.6升級到3.3.0 以及依賴庫在遷移時的處理

散盡浮華發表於2016-07-27

 

線上伺服器python版本預設是2.6,由於業務程式要求,需要將python升級到3.3.0, 操作記錄如下:

Cenots6.8預設安裝的是2.6版本,要更新升級需安裝下gcc:
[root@openstack ~]# yum -y install gcc
系統會自動下載安裝gcc

下載python 3.3.0
[root@openstack ~]# wget http://python.org/ftp/python/3.3.0/Python-3.3.0.tar.bz2
解壓python 3.3.0
[root@openstack ~]# tar -jxvf Python-3.3.0.tar.bz2
進入目錄: 
[root@openstack ~]# cd Python-3.3.0.tar.bz2
安裝python
[root@openstack ~]# ./configure
[root@openstack ~]# make all
[root@openstack ~]# make install
[root@openstack ~]# make clean
[root@openstack ~]# make distclean

然後不要急著去python -V,這時候實際上你還是發現是2.6.6
執行
[root@openstack ~]# mv /usr/bin/python /usr/bin/python.bak2.6 
會問你是否overwrite2.6的配置,輸入y
[root@openstack ~]# ln -s /usr/local/bin/python3.3 /usr/bin/python
這時候輸入python -V,應該是3.3.0了
[root@openstack ~]# python -V
Python 3.3.0

溫馨提示:
python升級後, 一定要記得修改/usr/bin/yum和/usr/bin/pip檔案頭部資訊中的python版本. 
否則yum和pip命令在python升級後將無法使用.
需要將這兩個命令的二進位制檔案開頭的
#!/usr/bin/python
修改為:
#!/usr/bin/python2.6

如果是centos7系統, 則/usr/libexec/urlgrabber-ext-down檔案頭部資訊中的python版本也要修改!

python環境在從一臺機器遷移到另一臺機器時, 對於那些依賴庫的做法:

1) 遷移前, 在原機器上執行"pip freeze",將顯示的python依賴的庫資訊放倒python.txt檔案裡
2) 將原機器的python.txt檔案拷貝到要遷入的新機器上
3) 在新機器上執行"pip install -r python.txt" , 如果執行時出現超時報錯, 則需要加上"--index https://pypi.mirrors.ustc.edu.cn/simple/" 進行加速, 即:
    "pip install -r python.txt --index https://pypi.mirrors.ustc.edu.cn/simple/"

相關文章