Python升級和相容性配置
Python裡面有個現象很奇怪,一般要學習Python都會糾結是學習2和3,這個差別和糾結Java5和Java6是完全不一樣的,因為Python裡面的相容性確實是個問題,在《流暢的Python》中寫道:Guido(Python之父,仁慈的獨裁者)在設計 Python3 的過程中,受一篇文章 “Python warts” 的影響,決定不向後相容,否則無法修復大多數缺陷,然後Python很火,你要用Python,就得按照這個理念來。相容性的問題到了開發者這裡就是個大麻煩。
Python2和3的差別很大,其實不相容也還可以理解,當做兩個分支也行,但是2.6和2.7的差別竟然也不小。有時候部署環境還是很糾結的。比如作業系統中預設的Python版本是2.6,但是很多應用中的最低要求是2.7,所以就得糾結這個,為了應用還是得升級。
首先是下載個2.7的安裝包。
wget --no-check-certificate
解壓 使用的選項是-j 這個和其他壓縮檔案還是有些差別的。
tar -jxvf Python-2.7.tar.bz2
把解壓的Python目錄放到/user/local下面去。
mv Python-2.7 /usr/local/
在原始碼包中,我們修改Modules/Setup.dist裡面zlib的配置
把註釋去掉。
zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
剩下的步驟就是編譯安裝了。
./configure
make all
如果這個時候出現了make的錯誤,
make: *** [Modules/zlibmodule.o] Error 1
資訊顯示是和zlib相關的資訊,得重新安裝一個包zlib-devel
yum install zlib-devel
這個階段最好,後面就很輕鬆了。
make all
make install
make clean
make distclean
安裝步驟部署下來,目前的系統層面的Python還是預設的2.6,我們需要修改下預設的配置,把/usr/bin下面的連結改一下。
/usr/local/bin/python2.7 -V
mv /usr/bin/python /usr/bin/python2.6_bak --備份一下原來的。
重新建立軟連結
ln -s /usr/local/bin/python2.7 /usr/bin/python
[root@oel641 Python-2.7]# python -V
Python 2.7
接下來就是yum的部分了,2.7版本中不相容2.6的部分,我們就得修改下yum檔案頭,把python的版本指向2.6
比如修改檔案/usr/bin/yum的頭部內容為
#!/usr/bin/python2.6
接下來就是pip這樣的工具了。
安裝pip,先要配置setuptools,一步一步來,倒還不算麻煩。
wget --no-check-certificate
wget --no-check-certificate -O - | python
然而如果後續你要安裝一些Python的模組,比如psutil,mysql-connector的時候,使用yum安裝就有問題了,因為yum基於的是python 2.6,在2.7的庫檔案裡是沒有的。一種解決方式就是下載原始碼包,原始碼安裝。
折騰了一圈,終於可以使用psutil了,mysql-connector的配置也通了。
剩下的事情就是寫一些簡單的指令碼或者拿來主義,借鑑別人好的指令碼內容。除錯一把,然後在這個基礎上補充一些定製的內容就妥了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-2149015/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- w10升級相容性未通過怎麼調_w10升級相容性未通過設定方法
- 升級pythonPython
- w10升級相容性未透過怎麼調_w10升級相容性未透過設定方法
- python版本升級Python
- Centos 升級 pythonCentOSPython
- Webpack4.0 升級配置Web
- Nginx配置以及熱升級Nginx
- 升級到oracle 12c 的相容性矩陣Oracle矩陣
- 新Windows相容性不佳使用者升級受阻(轉)Windows
- 資料庫 升級/降級 相容性矩陣 (文件 ID 1577660.1)資料庫矩陣
- [轉載]recovery 升級前相容性檢查(Vendor Interface Object)Object
- Linux升級PythonLinuxPython
- 軟體升級配置清單
- DTR100配置更改和軟體升級說明
- 老專案升級總結之程式碼相容性檢測
- centos 6.7 python 版本升級CentOSPython
- python2.4升級2.7.2Python
- Vue-cli升級webpack4以及各種loader升級配置VueWeb
- 阿里雲伺服器怎麼升級配置?升級有哪些限制?阿里伺服器
- win10系統升級後遊戲的相容性怎麼樣Win10遊戲
- 【Python】升級python後pip報錯Python
- kali安裝和升級
- A Oracle Data Guard Broker 升級和降級Oracle
- 升級所有Python安裝包Python
- MacOS升級python版本(親測)MacPython
- CentOS 6.5 升級 Python2.7CentOSPython
- 升級 Android 認證: 遠端配置Android
- Python2.7升級至Python3.6Python
- 資料庫升級和工具資料庫
- beego的安裝和升級Go
- 升級windows10系統出現相容性報告的解決方法Windows
- Excel轉Json升級版-PythonExcelJSONPython
- python如何在cmd中升級pip?Python
- CentOS 6升級預設python版本CentOSPython
- centos 下如何正確升級pythonCentOSPython
- Python2升級Python3(1):xrangePython
- pickle 在python 2和python 3中相容性問題Python
- Nacos 爆重大 Bug!!不要升級,不要升級,不要升級