Centos7.5环境上安装Python3.13
# 安装依赖
yum install -y zlib zlib-devel openssl-devel sqlite-devel bzip2-devel libffi libffi-devel gcc gcc-c++
mkdir -p /opt/software
cd /opt/software
# openssl高版本安装
# 如果 Centos7 系统默认自带的 openssl 版本太低,需要升级 openssl,下载安装一个高版本的 openssl ,后面 Python 安装时要用高版本 openssl ,否则安装 Python 会报错
# 查看当前系统的openssl版本、版本过低需要下载安装openssl高版本
openssl version
OpenSSL 1.0.2k-fips 26 Jan 2017
# 下载 openssl & install
# 官方多版本openssl下载地址:https://openssl-library.org/source/old/index.html
wget --no-check-certificat https://www.openssl.org/source/ openssl-1.1.1w.tar.gz
tar -zxvf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl/ssl --shared zlib #使用系统共享版本的zlib(需要版本能兼容)
make
make install
# openssl config 参数:
# --prefix 指定 openssl 的安装目录。
# --openssldir 指定 openssl 的配置文件和证书的存储目录。默认情况下,openssl 的配置文件和证书存储在 /usr/local/ssl 目录下,但可以通过 --openssldir 参数指定其他目录。
# --shared zlib 指定使用共享版本的 zlib 库进行编译。如果全局安装了zlib-devel,可以使用系统共享版本zilib。这意味着openssl在运行时将链接到系统中的共享zlib库,而不是将zlib库静态编译进openssl程序中。
# 使用共享库时需要注意版本兼容性问题,确保系统中的共享zlib库版本与openssl所需的版本兼容,以避免运行时错误。
# 此外,还要确保系统的动态链接器配置正确,以便能够找到并加载共享库。
# no-zlib 指定不需要zlib。
# 注意: 指定的目录需要确保用户拥有你所指定的目录的权限。
# openssl环境变量配置
vim /etc/profile
export LD_LIBRARY_PATH=/usr/local/openssl/lib:$LD_LIBRARY_PATH
# openssl环境变量生效
source /etc/profile
# 创建 openssl 软连接
# 线查看当前系统的openssl的位置 & 备份一下旧版本的二进制文件
whereis openssl
openssl: /usr/bin/openssl /usr/lib64/openssl /usr/include/openssl /usr/share/man/man1/openssl.1ssl.gz
mv /usr/bin/openssl /usr/bin/openssl.old
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
# 安装完毕后查看 openssl 版本
openssl version
OpenSSL 1.1.1w 11 Sep 2023
# 安装 Python3
# download & install python3
cd /opt/software
wget https://www.python.org/ftp/python/3.13.0/Python-3.13.0.tgz
tar -zxvf Python-3.13.0.tgz
cd Python-3.13.0
#编译安装可能如果遇到 openssl 版本过低导致的报错,使用 --with-openssl 指定高版本的 openssl
./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl
make
# python -V 查看到系统已装 Python 2.7.5,防止冲突用 altinstall
make altinstall
# 创建 python3 软连接
ln -s /usr/local/python3/bin/python3.13 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.13 /usr/bin/pip3
# 安装完毕,查看版本
python3 -V # python3 --version
Python 3.13.0