python3.12安装记录
背景:CentOS7
-
第一次安装python3.12:
-
- 安装依赖:
sudo yum groupinstall “Development Tools” -y
sudo yum install -y wget openssl-devel bzip2-devel libffi-devel zlib-devel xz-devel
- 安装依赖:
-
- 下载和解压 :https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tgz
tar -xf Python-3.12.0.tgz
cd Python-3.12.0
-
- 配置安装路径, 编译并安装(其中的clean应该是因为我曾经编译安装失败):
./configure --prefix=/home/python/python3.12.0
make clean
make -j$(nproc)
sudo make install
- 配置安装路径, 编译并安装(其中的clean应该是因为我曾经编译安装失败):
-
- 验证是否安装成功:
bash /home/python/python3.12.0/bin/python3.12 --version
正常是有反应的,但是此时系统还不知道python3.12的路径
- 验证是否安装成功:
-
export PATH=/home/python/python3.12.0/bin:$PATH
后,当前用户就知道python3.12了
看起来是安装好了,但后面用python3.12跑我的基于flask的项目时,出各种问题,比如说需要更新版本(>=1.1.1)的OpenSSL
- 安装新版 OpenSSL 到 /usr/local/ssl:
下载https://www.openssl.org/source/openssl-1.1.1w.tar.gz
tar -xf openssl-1.1.1w.tar.gzcd openssl-1.1.1w./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl sharedmake -j$(nproc)sudo make install
- 编译 Python 时指定新版 OpenSSL:
cd /home/python/Python-3.12.0sudo make clean./configure --prefix=/home/python/python3.12.0 --with-openssl=/usr/local/sslmake -j$(nproc)sudo make install
- 验证python是否成功启用 SSL 模块:
/home/python/python3.12.0/bin/python3.12 -c "import ssl; print(ssl.OPENSSL_VERSION)"
终于正常返回了:
相关命令:
查看openssl版本:openssl version