[Python]在CentOS 6安裝Python 3.7
前言
若想要安裝最新版本的Python,可以從官網下載原始碼自己編譯安裝
以下將會紀錄全部的安裝步驟
與 CentOS 7 不同的是,需要另外裝其他的套件才有辦法更新到Python 3.7
若是 CentOS 7 請看這一篇 [Python]在CentOS 7安裝Python 3.7
Step 1
安裝所需要的套件
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel wget xz xz-devel libuuid-devel gdbm-devel
Step 2
安裝LibreSSL
因為Python 3.7需要新的OpenSSL,否則會出現以下錯誤
Could not build the ssl module!
Python requires an OpenSSL 1.0.2 or 1.1 compatible libssl with X509_VERIFY_PARAM_set1_host().
LibreSSL 2.6.4 and earlier do not provide the necessary APIs, https://github.com/libressl-portable/portable/issues/381
下載官方原始碼
wget https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.9.2.tar.gz
解壓縮檔案並進入目錄
tar xzvf libressl-2.9.2.tar.gz
cd libressl-2.9.2
檢測並產生 Makefile,且指定安裝目錄
./config --prefix=/usr/local
編譯及安裝
make && make install
備份原始軟連結及建立新軟連結
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
ln -s /usr/local/bin/openssl /usr/bin/openssl
ln -s /usr/local/include/openssl /usr/include/openssl
將安裝目錄加入到系統加載目錄
echo "/usr/local/lib" >> /etc/ld.so.conf.d/local.conf
ldconfig
增加系統參數
export LDFLAGS="-L/usr/local/lib"
export CPPFLAGS="-I/usr/local/include"
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"
測試
openssl version
若出現 LibreSSL 2.9.2 表示安裝成功
Step 3
下載官方原始碼
wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tar.xz
Step 4
解壓縮檔案並進入目錄
tar Jxvf Python-3.7.3.tar.xz
cd Python-3.7.3
Step 5
檢測並產生 Makefile,且指定安裝目錄
./configure prefix=/usr/local/python3
Step 6
編譯及安裝
make && make install
Step 7
建立別名
vi .bashrc
加入以下文字後儲存檔案
alias python='/usr/local/python3/bin/python3'
alias pip='/usr/local/python3/bin/pip3'
重新讀取
source .bashrc
Step 8
確認 Python 版本
python -V
顯示 Python 3.7.3 就表示安裝成功