91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

修改 CentOS 6.x 上默認Python的方法

發布時間:2020-09-15 08:25:59 來源:腳本之家 閱讀:149 作者:python 編程時光 欄目:開發技術

最近在工作中遇到一個問題,就是有一個功能希望在各種服務器上實現,而服務器上的系統版本可能都不一樣,有的是 CentOS 6.x,有的是 CentOS 7.x 。

需要說明的一點是,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。

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

首先確認下你機器上的默認的 Python 版本

$ python -V
Python 2.6.6

$ whereis python
python: /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

由于我們將使用編譯安裝的方式,所以要安裝下 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。

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

$ wget https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgz
$ tar zxvf Python-2.7.14.tgz
$ cd Python-2.7.14

配置,編譯,安裝

# --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。

查看系統的 Python 版本

$ python -V
Python 2.6.6

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

修改系統默認的 Python 版本

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

# 這是我們剛安裝的 Python
$/usr/local/bin/python2.7 -V
Python 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 -V
Python 2.7.14

重新指定 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

安裝 setuptools 及 pip

pip是python的安裝工具,很多python的常用工具,都可以通過pip進行安裝。要安裝pip,首先要安裝setuptools。從這個鏈接,你可以得到相關信息: https://pypi.python.org/pypi/...

# 下載 setuptools
$ wget https://pypi.python.org/packages/ff/d4/209f4939c49e31f5524fa0027bf1c8ec3107abaf7c61fdaad704a648c281/setuptools-21.0.0.tar.gz#md5=81964fdb89534118707742e6d1a1ddb4

同樣的,進行安裝:

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

安裝完成后,下載pip。其信息在如下網站: https://pypi.python.org/pypi/pip

# 下載 pip
wget https://pypi.python.org/packages/41/27/9a8d24e1b55bd8c85e4d022da2922cb206f183e2d18fee4e320c9547e751/pip-8.1.1.tar.gz#md5=6b86f11841e89c8241d689956ba99ed7

同樣的,進行安裝

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

安裝完成后,執行 pip list 查看一下安裝的包,若無異常,則一切順利。或者你也可以試著安裝一下第三方包 pip install requests

總結

以上所述是小編給大家介紹的修改 CentOS 6.x 上默認Python的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平舆县| 留坝县| 陇西县| 广东省| 游戏| 罗平县| 临武县| 平度市| 巢湖市| 邳州市| 铁岭县| 壤塘县| 南昌市| 恭城| 福建省| 吉木萨尔县| 克拉玛依市| 迁西县| 孟州市| 康乐县| 青河县| 阳山县| 巴青县| 天祝| 伊宁市| 揭阳市| 铅山县| 华蓥市| 铜山县| 翁牛特旗| 育儿| 石棉县| 渝北区| 蕲春县| 友谊县| 普兰县| 淅川县| 宁蒗| 昌乐县| 天长市| 都匀市|