您好,登錄后才能下訂單哦!
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 http://python.org/ftp/python/2.7/Python-2.7.tar.bz2 --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 https://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg --no-check-certificate
wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate -O - | python
然而如果后續你要安裝一些Python的模塊,比如psutil,mysql-connector的時候,使用yum安裝就有問題了,因為yum基于的是python 2.6,在2.7的庫文件里是沒有的。一種解決方式就是下載源碼包,源碼安裝。
折騰了一圈,終于可以使用psutil了,mysql-connector的配置也通了。
剩下的事情就是寫一些簡單的腳本或者拿來主義,借鑒別人好的腳本內容。調試一把,然后在這個基礎上補充一些定制的內容就妥了。
看完上述內容,你們掌握Python升級和兼容性配置是怎樣的的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。