Centos 7 安裝python 3.8

Centos 7 編譯安裝python 3.8

一、下載前準備工作

Centos 7操作系統上默認安裝了python 2.7.5版本,但是python 2即將成爲歷史,python 3纔是未來的主流,本文記錄了筆者在Centos 7上安裝python 3.8的過程,該過程在虛擬機和華爲雲服務器上均有實現,因此復現性應該較高。
在這裏插入圖片描述
首先移動到/home/python目錄下(當然沒有python目錄需要你自己創建):
在這裏插入圖片描述

二、下載python 3.8壓縮包

使用如下命令下載python 3.8:

wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz

如果提示-bash: wget: 未找到命令,需要先使用yum安裝wget,命令如下:

yum -y install wget

然後再使用wget下載python,耐心等候。下載結果如下:
在這裏插入圖片描述

三、解壓縮安裝包

通過以下命令解壓縮下載的文件:

tar zxf Python-3.8.0.tgz

結果如下:
在這裏插入圖片描述
解壓後進入Python-3.8.0目錄:

cd Python-3.8.0


四、安裝前準備工作

因爲編譯 Python 源代碼需要依賴於很多工具,所以得先準備一下,依次執行以下命令:

yum update -y

yum groupinstall -y 'Development Tools'

yum install -y gcc openssl-devel bzip2-devel libffi-devel


五、安裝python 3.8

現在我們就可以安裝python 3.8了,首先執行以下命令(注意,一定要在Python-3.8.0目錄下執行該命令):

./configure prefix=/usr/local/python3 --enable-optimizations

–prefix選項是配置安裝的路徑,如果不配置該選項,安裝後可執行文件默認放在/usr/local/bin,庫文件默認放在/usr/local/lib,配置文件默認放在/usr/local/etc,其它的資源文件放在/usr/local/share,比較凌亂。

如果配置--prefix,如:./configure --prefix=/usr/local/python3可以把所有資源文件放在 /usr/local/python3 的路徑中,不會雜亂.用了--prefix選項的另一個好處是卸載軟件或移植軟件。當某個安裝的軟件不再需要時,只須簡單的刪除該安裝目錄,就可以把軟件卸載得乾乾淨淨;移植軟件只需拷貝整個目錄到另外一個相同的操作系統機器即可.當然要卸載程序,也可以在原來的make 目錄下用一次make uninstall,但前提是make文件指定過uninstall.

--enable-optimizations是優化選項(LTO,PGO 等)加上這個 flag 編譯後,性能有 10% 左右的優化,但是這會明顯的增加編譯時間,老久了.

./configure命令執行完畢之後創建一個文件 Makefile, 供下面的make命令使用,執行make install之後就會把程序安裝到我們指定的文件夾中去。

make && make install

那麼現在就安裝好python 3了嗎?很遺憾,答案是沒有。因爲系統默認使用的還是python 2。
在這裏插入圖片描述

六、修改 python 2 鏈接

我們首先查看一下 Python 可執行文件的位置:

which python

然後切換到相應的目錄:

cd /usr/bin

查看相關的python信息:

ls -la python*
在這裏插入圖片描述
發現當我們執行python 命令時,系統指向python 2,然後python 2指向python 2.7,所以系統默認使用的python版本仍然是python 2。

首先將python 改名爲 python.bak

mv python python2.bak

再次查看python相關信息:
在這裏插入圖片描述

七、修改yum配置文件

進入目錄/usr/bin,查看有關yum的文件:

ls -la yum*
在這裏插入圖片描述
使用vi 進入文本編輯器(如果有多個yum配置文件,都要進去修改):

vi yum

點擊i進入編輯模式之後將#!/usr/bin/python 改爲#!/usr/bin/python2,按ESC退出編輯模式,輸入:wq!保存修改退出。

同樣進入文件 /usr/libexec/urlgrabber-ext-down 做同樣修改。

八、配置python 3軟鏈接

進入/usr/bin目錄,配置軟鏈接。在我看來,其實軟鏈接就像Windows操作系統裏的快捷方式,比如現在桌面上有一個圖標叫python,現在你雙擊打開它,發現它打開的是Python 2,所以我們要配置其指向python 3。

ln -s /usr/local/python3/bin/python3.8 /usr/bin/python

配置後結果:
在這裏插入圖片描述
ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip

如果提示/usr/bin/pip已經存在,可以使用rm刪除,然後再進行配置。

配置後結果:
在這裏插入圖片描述
當然,也可以配置一個pip3軟鏈接。

ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip3


九、結果

輸入python --version和pip -V,結果如下:

華爲雲服務器:
在這裏插入圖片描述
本地虛擬機:
在這裏插入圖片描述


十、後記

如果遇到下載python 3安裝包速度過慢,可以考慮先下載到本地,然後使用winscp等工具將安裝包傳輸至Centos,然後開始安裝。

在安裝過程中,要記得拍攝快照,最好每一步結束後都拍攝一張快照,這樣當哪一步出錯時,可以回退到前一步驟,而不必重新安裝。

其實整個安裝步驟和Windows下安裝軟件一樣,大致按照下載軟件——安裝軟件——修改配置整個過程進行,由於Centos系統自帶python 2,中間穿插了一些修改python 2配置信息的操作。


十一、參考資料

[1] 知乎作者-穆圖: https://zhuanlan.zhihu.com/p/98299867

[2] https://liqiang.io/post/install-python3-8-in-centos-973bdb81

[3] CSDN用戶- weixin_41917873: https://blog.csdn.net/weixin_41917873/article/details/88211421

[4] CSDN用戶-那一夜: https://blog.csdn.net/weixin_44247225/article/details/85246828

[5] 簡書作者-徐代龍: https://www.jianshu.com/p/fe9b0fc127d4

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章