CentOS下編譯安裝Python3教程

pythontab發表於2019-03-03

CentOS下預設的Python版本為2.7或者2.6版本,而現在越來越多的模組支援Python3,所以我們的環境安裝一個Python3是非常有必要的。我們講的不是升級Python2到Python3,而是安裝,也就是Python2和Python3共存。當然你想直接升級替換Python2,我是非常不推薦這麼做的,它會造成很多系統問題, 畢竟目前CentOS上很多地方還是依賴Python2.

下面開始Python3的安裝,今天我們不適用yum安裝, 我們來編譯安裝Python3。

1. 下載最新版Python3

到官網獲取最新版的Python3 下載地址 https://www.python.org/downloads/source/ , 現在最新版是Python3.7.2

下載完成後,解壓,執行命令:

[www@pythontab.com]$ wget --no-check-certificate https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
[www@pythontab.com]$ xz -d Python-3.7.2.tgz
[www@pythontab.com]$ tar -xzvf Python-3.7.2.tgz

2. 編譯前配置

[www@pythontab.com]$ cd Python-3.7.2/
[www@pythontab.com]$ ./configure --prefix=/usr/local/python3.7 --enable-optimizations

上面的命令解釋一下:

--prefix 選項是配置安裝的路徑,如果不配置該選項,安裝後可執行檔案預設放在/usr/local/bin,庫檔案預設放在/usr/local/lib,配置檔案預設放在/usr/local/etc,其它的資原始檔放在/usr/local/share

如果配置--prefix,如:./configure --prefix=/usr/local/python3.7可以把所有資原始檔放在/usr/local/python3.7的路徑中,便於管理。

--enable-optimizations 是最佳化選項(LTO,PGO 等)加上這個 flag 編譯後,效能有 10% 左右的最佳化,但是這會明顯的增加編譯時間。

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

3. 執行編譯和安裝

[www@pythontab.com]$ make && make install

安裝完成之後進入到/usr/local/python3.7目錄,可以看到Python的可執行檔案目錄bin等相關目錄了。

4. 增加軟連線

執行完上一步,你可能還不能直接執行Python3命令,因為你的/usr/local/可能不在PATH環境變數中, 我們可以透過增加軟連線的方式來解決這個問題

執行如下命令:

[www@pythontab.com]$ ln -s /usr/local/python3.7/bin/python3.7 /usr/bin/python3
[www@pythontab.com]$ ln -s /usr/local/python3.7/bin/python3.7 /usr/bin/python3.7

這時候你再執行Python3或者Python3.7就可以執行了

[www@pythontab.com]$ python3
Python 3.7.2 (default, Mar  3 2019, 13:15:50) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-16)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

如果你想直接升級Python2到某個版本,也是可以的, 前面的步驟基本相同, 區別在於要增加更改yum配置的步驟等。


相關文章