環境:
OS:Centos 7
1.安裝依賴包
[root@localhost ~]# yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc
centos 7停止服務後,可以使用阿里雲yum,參考如下:
https://www.cnblogs.com/hxlasky/p/18367611
2.升級openssl
[root@localhost ~]# openssl version
OpenSSL 1.0.2k-fips 26 Jan 2017
該版本是不支援安裝python3.12的,需要升級到1.1.1w
升級可以參考如下連線(openssl升級到1.1.1w):
https://www.cnblogs.com/hxlasky/p/18573536
若openssl使用的是比較新的版本,比如openssl3.XX,安裝部署參考如下:
https://www.cnblogs.com/hxlasky/p/18348968
說明:
雖然openssl官網推薦最新版本,但是安裝python,執行make依然會報錯,我建議下載安裝python3.12時推薦的openssl 1.1.1版本.
3.下載python安裝包並解壓
下載
cd /soft
wget https://www.python.org/ftp/python/3.12.7/Python-3.12.7.tgz
tar -zxvf Python-3.12.7.tgz
4.把python移到/usr/local下面
[root@host134 soft]# mv Python-3.12.7 /usr/local/
5.編譯安裝
進入python目錄
[root@host134 soft]#cd /usr/local/Python-3.12.7/
[root@host134 soft]#./configure --with-openssl=/usr/local/openssl ##這裡指定新版本openssl安裝的目錄
[root@host134 soft]#make
[root@host134 soft]#make install
6.刪除舊的軟連結,建立新的軟連結到最新的python
rm -rf /usr/bin/python
rm -rf /usr/local/bin/python
ln -s /usr/local/bin/python3.12 /usr/bin/python
ln -s /usr/local/bin/python3.12 /usr/local/bin/python
7.檢視版本
[root@node2 Python-3.12.7]# python -V
Python 3.12.7