一. 安裝步驟
注意:
1、安裝python3.11的其他版本替換下面的版本信息即可。(如想安裝3.11.5將案例中的3.11.0替換成3.11.5即可)
#下載最新的軟件安裝包
wget https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tgz#解壓縮安裝包
tar -xzf Python-3.11.0.tgz#安裝源碼編譯需要的編譯環境
yum -y install gcc zlib zlib-devel libffi libffi-devel#可以解決后期出現的方向鍵、刪除鍵亂碼問題,這里提前避免。
yum install readline-devel#安裝openssl11,后期的pip3安裝網絡相關模塊需要用到ssl模塊。
yum install openssl-devel openssl11 openssl11-devel#設置編譯FLAG,以便使用最新的openssl庫
export CFLAGS=$(pkg-config --cflags openssl11)
export LDFLAGS=$(pkg-config --libs openssl11)#進入剛解壓縮的目錄
cd /root/Python-3.11.0#指定python3的安裝目錄為 /usr/python 并使用ssl模塊,指定目錄好處是后期刪除此文件夾就可以完全刪除軟件了。
./configure --prefix=/usr/python --with-ssl#就是源碼編譯并安裝了,時間會持續幾分鐘。
make
make install#指定鏈接,此后我們系統的任何地方輸入python3就是我們安裝的
ln -s /usr/python/bin/python3 /usr/bin/python3
ln -s /usr/python/bin/pip3 /usr/bin/pip3#這個最新版python3了,可看到版本信息
python3 --version
pip3 -V
若要卸載,直接 rm -rf /usr/python
即可
二. 報錯處理
1. make編譯的時候出現報錯
即
‘Could not build the ssl module!Python requires a Openssl 1.1.1 or newer’'
如果不處理此報錯,會出現:ModuleNotFoundError: No module named '_ssl'
的問題。是因為較新版本的python3開始使用openssl11進行支持了。
解決方案請參考:CentOS7中升級OpenSSL詳細教程
2、報錯出現‘No package openssl11 available’:
解決方法:多數是你沒有安裝EPEL(即企業版linux擴展包),使用以下方法即可:yum install epel-release