## openssl 版本 要求 OpenSSL 1.0.2+,如果不满足需升级 openssl
# 然而 yum install openssl openssl-devel 的方式也无法升级到1.0.2版本,那也只能手动编译并安装
# 下载 openssl-1.1.1b.tar.gz 新版本的源码包
wget -c https://www.openssl.org/source/openssl-1.1.1b.tar.gz
tar -zxvf openssl-1.1.1b.tar.gz
cd openssl-1.1.1b
./config --prefix=/usr/local/openssl # 指定安装目录为/usr/local/openssl
make && make install #(耗时比较长,需要耐性等待)
# 编译完成后需要拷贝库文件
cp /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
cp /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
# 替换软链接
rm -rf /usr/bin/openssl
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
## 安装系统依赖包
yum install gcc gcc-c++ openssl-devel libffi-devel tk-devel
## 安装 Python
tar -xvzf Python-3.8.1.tgz
cd Python-3.8.1
# 因为 pip3 是基于 SSL 协议的,所以必须启用 SSL 特性,不然 pip3 将不可用
# --enable-optimizations 指定使用优化选项
# 编译
./configure --enable-optimizations --prefix=/usr/local/python3.8 --with-http_ssl_module --with-ssl
# 安装
make & make install
# 创建软链接
ln -s /usr/local/python3.8/bin/python3 /usr/bin/python3
ln -s /usr/local/python3.8/bin/pip3 /usr/bin/pip3