unbuntu更新Python3.11版本,安装依赖手动编译解决ssl问题(亲测可用)
- 安装依赖
sudo apt update
sudo apt install build-essential zlib1g-dev libffi-dev libssl-dev
- 下载安装包,手动配置编译
官网查找对应linux版本tgz包
wget https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tgz
tar -xzvf Python-3.11.0.tgz
cd Python-3.11.0
- 配置编译安装
##编译安装
#后面加上 --enable-optimizations 会自动安装pip3及优化配置
./configure --prefix=/usr/local/python3 --enable-optimizations --with-openssl=/usr/local/openssl
make -j8
sudo make install
- 添加软连接(这个方法不好,我这里直接改path和LD_LIBRARY_PATH更快
踩坑注意
由于python3.10以后需要openssl1.1.1版本以上支持
所以ubunut主机还需要编译安装openssl1.1.1以上模块
注意with-openssl的路径
参见https://www.openssl.org/,包括以下版本:
https://www.openssl.org/source/openssl-3.1.0-alpha1.tar.gz
https://www.openssl.org/source/openssl-1.1.1s.tar.gz
https://www.openssl.org/source/openssl-3.0.7.tar.gz
tar -zxf openssl-1.1.1s.tar.gz
cd openssl-1.1.1s/
./config -fPIC --prefix=/usr/include/openssl enable-shared
make -j8
make install
export LD_LIBRARY_PATH=/usr/include/openssl/lib:$LD_LIBRARY_PATH
export PATH=/usr/include/openssl/bin:$PATH
其中:
-fPIC: 位置无关代码
--prefix=: 路径 一般选 /usr/include/openssl
enbale-shared: 动态库