ubuntu16安装python3.12
1)新python依赖openssl,所以先安装openssl
在https://www.openssl-library.org/source 下载最新稳定版3.5.3(https://github.com/openssl/openssl/releases/download/openssl-3.5.3/openssl-3.5.3.tar.gz)
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl --shared zlib
make
sudo make install
安装后配置系统库
cd /etc/ld.so.conf.d/
vim openssl-3.1.4.conf
填入目标库:
/usr/local/openssl/lib64
或者
sudo echo "/usr/local/openssl/lib64" >> /etc/ld.so.conf查看
sudo ldconfig -v创建新连接
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
ln -s /usr/local/openssl/bin/openssl /usr/local/bin/openssl
ln -s /usr/local/openssl/lib64/libcrypto.so.3 /lib/libcrypto.so.3
ln -s /usr/local/openssl/lib64/libcrypto.so.3 /lib/libcrypto.so.6
ln -s /usr/local/openssl/lib64/libssl.so.3 /usr/lib64/libssl.so.3
ln -s /usr/local/openssl/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3
ln -s /usr/local/openssl/lib64/libssl.so /usr/lib64/libssl.so
ln -s /usr/local/openssl/lib64/libcrypto.so /usr/lib64/libcrypto.so验证
openssl version -a
refs:
“Python3.12pip联网安装库文件出错,ssl模块不可用”的解决方法_pip openssl-CSDN博客
2)编译python老是提示缺openssl模块
./python -E -c 'import sys ; from sysconfig import get_platform ; print("%s-%d.%d" % (get_platform(), *sys.version_info[:2]))' >platform
The necessary bits to build these optional modules were not found:
_bz2 _lzma _ssl _tkinter
_uuid
安装配置如下解决:
wget 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./configure --enable-optimizations --with-openssl=/usr/local/openssl --with-openssl-rpath=/usr/local/openssl/lib64 LDFLAGS=-L/usr/local/openssl/lib64make -j $(nproc)
sudo make install
refs:
Using custom OpenSSL version 3.x when compiling Python 3.x - fails · Issue #121992 · python/cpython