公司服务器项目需要使用python3.9.9, 不能访问外网,只能全程离线安装。
首先服务器有python2,openssl-1.0.1,安装python3要求openssl-1.0.2版本以上,不需要卸载原有openssl,直接安装新版本openssl,我选择openssl-1.1.1。
1. 安装openssl-1.1.1
下载openssl-1.1.1 http://artfiles.org/openssl.org/source/old/1.1.1/openssl-1.1.1.tar.gz
进入下载路径,解压 tar -zxvf openssl-1.1.1.tar.gz。
进入openssl目录,cd openssl。
执行命令
- tar -zxvf openssl-1.1.1.tar.gz
- cd openssl-1.1.1
- ./config shared zlib
- make && make install
- rm -rf /usr/lib64/libssl.so
- rm -rf /usr/lib64/libcrypto.so
- ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so
- ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so
安装路径为/usr/local/bin/openssl
测试是否成功
- /usr/local/bin/openssl version
- OpenSSL 1.1.1 11 Sep 2018
能够看到版本号,说明安装成功。
2. 安装python3
官网下载python3.9.9,https://www.python.org/ftp/python/3.9.9/Python-3.9.9.tgz
- tar -zxvf Python-3.9.9.tgz
- cd Python-3.9.9.tgz
- vim Modules/Setup
修改Setup文件,去掉对应注释
#SSL=/usr/local/ssl
_ssl _ssl.c
-DUSE_SSL -I( S S L ) / i n c l u d e − I (SSL)/include -I(SSL)/include−I(SSL)/include/openssl
-L$(SSL)/lib -lssl -lcrypto
保存退出
开始编译安装
- ./configure --prefix=/usr/local/python3.9.9 --with-openssl=/usr/local/bin/openssl --enable-optimizations
- make && make install
--prefix:指定python安装路径
--with-openssl:指定openssl位置
安装成功后引入ssl模块测试

引入成功,安装完成。全过程花费2天。。。