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配置的步驟等。