因为想开发开源鸿蒙,但是发现他编译工具链需要用到的Python版本比较低,要3.8的版本,24.04的Ubuntu系统预装的肯定不会那么低嘛,而且现在都不太流行用虚拟机了,我本人也比较喜欢子系统,哎~没办法,为了能够增加成功率,豁出去了
删除原本的3.12
这里可以省略一万字了,不删都可以的,懂的都懂,安装完3.8版本,把链接全部替换掉原来的不就行了,但是为了稳妥,还是删除了
rm -rf /usr/local/bin/py*
rm -rf /usr/local/share/py*
#...自己找到相关文件,用rm删除就好了嘛
下载3.8源码并编译安装
下载:
cd /usr/local/
wget https://www.python.org/ftp/python/3.8.20/Python-3.8.20.tgz
tar zxvf Python-3.8.20.tgz
cd Python-3.8.20
#先检查一下环境能不能编译
./configure
安装前准备:
(这里要注意了,Python3.8用到的SSL库必须是全功能的,子系统安装的SSL包一个是比较新,第二个是比较精简,所以这里教大家自己编译一个SSL库)
cd /usr/local/openssl
wget https://www.openssl.org/source/openssl-1.1.1u.tar.gz
tar zxvf openssl-1.1.1u.tar.gz
cd openssl-1.1.1u
./config --prefix=/usr/local/openssl/openssl1.1.1
make
make install
配置一下源码(这一步很重要!跳过这一步的话,编译出来还是没有SSL)
$ vim Modules/Setup
# 编辑后的内容如下:
SSL=/usr/local/openssl/openssl1.1.1
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib -lssl -lcrypto
编译Python3.8
cd /usr/local/Python-3.8.20
./configure --with-openssl=/usr/local/openssl/openssl1.1.1 --enable-optimizations
make
make install
验证一下
python
>>> import ssl
#如果没有弹出任何错误提示,那就是OK的!