文章目錄
- 使用pyenv安裝python3.12
- 一、gitub下載pyenv
- 二、升級GCC
- 三.升級openssl
- 這樣python3.12.9就完成安裝在CentOS上啦!
使用pyenv安裝python3.12
一、gitub下載pyenv
https://github.com/pyenv/pyenv
按照README,pyenv教程安裝即可
二、升級GCC
安裝依賴
yum install centos-release-scl -y
手動修改庫地址
/etc/yum.repos.d/CentOS-SCLo-scl-rh.repo
[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=http://vault.centos.org/centos/7/sclo/$basearch/rh/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
/etc/yum.repos.d/CentOS-SCLo-scl-rh.repo
[centos-sclo-sclo]
name=CentOS-7 - SCLo sclo
baseurl=http://vault.centos.org/centos/7/sclo/$basearch/rh/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
更新yum庫
yum clean all yum makecache
安裝并開啟GCC11
yum install devtoolset-11 -y scl enable devtoolset-11 bash
三.升級openssl
Python 3.10+ 需要 OpenSSL 1.1.1+,但 CentOS 7 默認的 OpenSSL 版本是 1.0.2,需手動升級
步驟 1:從源碼編譯 OpenSSL 1.1.1
# 下載 OpenSSL 1.1.1
wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz
tar -xzf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w# 編譯安裝到 /opt/openssl
./config --prefix=/opt/openssl --openssldir=/opt/openssl
make -j$(nproc)
sudo make install# 添加動態庫路徑
echo '/opt/openssl/lib' | sudo tee /etc/ld.so.conf.d/openssl-1.1.1.conf
sudo ldconfig
步驟 2:驗證 OpenSSL 版本
/opt/openssl/bin/openssl version
# 輸出應為 OpenSSL 1.1.1w
步驟 3:設置編譯環境變量
在編譯 Python 時,通過環境變量指定 OpenSSL 路徑:
export CPPFLAGS="-I/opt/openssl/include"
export LDFLAGS="-L/opt/openssl/lib"
export LD_LIBRARY_PATH="/opt/openssl/lib:$LD_LIBRARY_PATH"
步驟 4:安裝 Python 3.12
pyenv install 3.12.9 --verbose
步驟 5:驗證
[root@...] pyenv global 3.12
[root@...] python3
Python 3.12.9 (main, Apr 8 2025, 15:37:15) [GCC 11.2.1 20220127 (Red Hat 11.2.1-9)] on linux
Type "help", "copyright", "credits" or "license" for more information.