如何修改 CentOS 6.x 上預設Python 版本

lhrbest發表於2019-09-04


如何修改 CentOS 6.x 上預設Python 版本


http://blog.itpub.net/26736162/viewspace-2564409/


CentOS 6.x 上的 Python 版本是 2.6.x 的,而  CentOS 7.x 上的 Python 版本是 2.7.x 的,這意味著我要實現的功能要適配這兩種版本的系統。

你可能會說,這有什麼的,自己寫的時候,注意一下就好了。

事情其實沒有那麼容易,我要實現的功能是基於一個框架進行定製,需要修改不少的框架程式碼。這個框架在不同的 Linux 版本上,有不同的版本,而且差異巨大,曾經想過在 CentOS 6.x 和 CentOS 7.x 將這個框架安裝成同一個版本,最後還是失敗了,無法安裝,原因就是高版本需要 Python2.7,而 CentOS 6.x 上只有 Python2.6。

這個歷史問題一直遺留到現在,由於這次的功能影響到的程式碼較多,如果要對兩個版本的框架分別進行定製的話,需要花不少的時間,為了不維護兩套版本,避免浪費多餘的精力去做適配,我決定將 CentOS 6.x 上預設的 Python2.6 升級成 Python2.7,這樣就一勞永逸了。

下面是整個升級過程,別看步驟簡單,這些精簡步驟的背後可是有不少的坑,被我踩過後,你可以直接使用了。

1、首先確認下你機器上的預設的 Python 版本

$ python -VPython 2.6.6$ whereis pythonpython: /usr/bin/python /usr/bin/python2.6 /usr/lib/python2.6 /usr/lib64/python2.6 /usr/local/bin/python /usr/include/python2.6 /usr/share/man/man1/python.1.gz

2、由於我們將使用編譯安裝的方式,所以要安裝下 gcc,及一些工具包。

注意一定要全部安裝,不然後面會發現有不少 python 的工具用不了。

比如不安裝 zlib 會無法安裝 setuptools,不裝 openssl 和 openssl-devel,會無法使用 pip 工具等

$ yum install gcc -y$ yum groupinstall "Development tools"$ yum install zlib-devel bzip2-devel openssl openssl-devel ncurses-devel sqlite-devel -y

如果你這裡未按照我的步驟來安裝,你後面使用的時候出現了各種各樣的問題,不要慌,只要再回來這裡,把沒安裝的包裝上,安裝完成後,你需要進入第四步重新編譯安裝Python。

3、下載最新的 Python2.7.x 安裝包,解壓並進入指定目錄

$ wget 

4、配置,編譯,安裝

# --prefix  指定 python 安裝的路徑$ ./configure --prefix=/usr/local/python/python2.7$ make$ make install

./configure 命令執行完畢之後建立一個檔案creating Makefile,供下面的make命令使用 執行  make install 之後就會把程式安裝到我們指定的目錄中去。

Configure是一個可執行指令碼,它有很多選項,在待安裝的原始碼路徑下使用命令./configure –help輸出詳細的選項列表。其中  --prefix 選項是配置安裝的路徑,如果不配置該選項,安裝後可執行檔案預設放在/usr /local/bin,庫檔案預設放在  /usr/local/lib ,配置檔案預設放在  /usr/local/etc ,其它的資原始檔放在  /usr /local/share。如果配置  --prefix,如: ./configure --prefix=/usr/local/test 可以把所有資原始檔放在/usr/local/test的路徑中,不會雜亂。

用了  --prefix 選項的另一個好處是解除安裝軟體或移植軟體。當某個安裝的軟體不再需要時,只須簡單的刪除該安裝目錄,就可以把軟體解除安裝得乾乾淨淨;移植軟體只需複製整個目錄到另外一個機器即可(相同的作業系統)。當然要解除安裝程式,也可以在原來的make目錄下用一次  make uninstall,但前提是make檔案指定過uninstall。

5、檢視此時系統的Python版本

$ python -VPython 2.6.6

如果你檢視還是 Python 2.6.6 版本,請繼續看第六步。

6、修改系統預設的 Python 版本

檢視新安裝的Python版本,當前系統的Python版本,並將系統指向的Python從2.6.x修改為2.7.x,再次檢視當前系統的Python版本,已經變更為2.7.x

# 這是我們剛安裝的 Python$/usr/local/bin/python2.7 -VPython 2.7.14# 這是系統預設 Python$ /usr/bin/python -V Python 2.6.6# 備份原來的 Python 檔案$ mv /usr/bin/python /usr/bin/python.bak# 建立軟連結,將我們剛安裝的 python2.7 做為系統預設版本ln -s /usr/local/bin/python2.7 /usr/bin/python# 再次檢視 Python 版本,已經成功切換過來$ python -VPython 2.7.14

7、重新指定 yum 的Python版本

上面我們改了系統的預設 Python 版本,由於CentOS 6.x 的  yum 是基於Python2.6 的,為了不影響 yum 的使用,需單獨將yum指向python2.6版本。

編輯:vim /usr/bin/yum

/usr/bin/python 改成  /usr/bin/python2.6

#!/usr/bin/python2.6

8、安裝 setuptools 及 pip

pip是python的安裝工具,很多python的常用工具,都可以透過pip進行安裝。要安裝pip,首先要安裝setuptools。從這個連結,你可以得到相關資訊:

# 下載 setuptools$ wget 

同樣的,進行安裝:

$ tar vxf setuptools-21.0.0.tar.gz $ cd setuptools-21.0.0$ python setup.py  install

安裝完成後,下載pip。其資訊在如下網站:

# 下載 pipwget 

同樣的,進行安裝

$ tar vxf pip-8.1.1.tar.gz $ cd pip-8.1.1$ python setup.py install

安裝完成後,執行  pip list 檢視一下安裝的包,或者也可以試著安裝一下第三方包  pip install requests 看是否使用正常。






About Me

........................................................................................................................

● 本文作者:小麥苗,部分內容整理自網路,若有侵權請聯絡小麥苗刪除

● 本文在itpub、部落格園、CSDN和個人微 信公眾號( xiaomaimiaolhr)上有同步更新

● 本文itpub地址: http://blog.itpub.net/26736162

● 本文部落格園地址: http://www.cnblogs.com/lhrbest

● 本文CSDN地址: https://blog.csdn.net/lihuarongaini

● 本文pdf版、個人簡介及小麥苗雲盤地址: http://blog.itpub.net/26736162/viewspace-1624453/

● 資料庫筆試面試題庫及解答: http://blog.itpub.net/26736162/viewspace-2134706/

● DBA寶典今日頭條號地址:

........................................................................................................................

● QQ群號: 230161599 、618766405

● 微 信群:可加我微 信,我拉大家進群,非誠勿擾

● 聯絡我請加QQ好友 646634621 ,註明新增緣由

● 於 2019-09-01 06:00 ~ 2019-09-31 24:00 在西安完成

● 最新修改時間:2019-09-01 06:00 ~ 2019-09-31 24:00

● 文章內容來源於小麥苗的學習筆記,部分整理自網路,若有侵權或不當之處還請諒解

● 版權所有,歡迎分享本文,轉載請保留出處

........................................................................................................................

小麥苗的微店

小麥苗出版的資料庫類叢書http://blog.itpub.net/26736162/viewspace-2142121/

小麥苗OCP、OCM、高可用網路班http://blog.itpub.net/26736162/viewspace-2148098/

小麥苗騰訊課堂主頁https://lhr.ke.qq.com/

........................................................................................................................

使用 微 信客戶端掃描下面的二維碼來關注小麥苗的微 信公眾號( xiaomaimiaolhr)及QQ群(DBA寶典)、新增小麥苗微 信, 學習最實用的資料庫技術。

........................................................................................................................

歡迎與我聯絡

 

 




來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2655921/,如需轉載,請註明出處,否則將追究法律責任。

相關文章