阐明
实用于 CentOS6、CentOS7
编译 openssl
·下载(这里须要查看 python3.7 最低要求的 openssl 版本多少来进行编译)
$ wget http://www.openssl.org/source/openssl-1.1.1.tar.gz
· 编译
$ tar zxf openssl-1.1.1.tar.gz
$ cd openssl-1.1.1
$ ./config --prefix=$HOME/openssl shared zlib
$ make
$ make install
编译 Python3.7.4
· 下载包
$ wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
· 解压包
$ tar zxf Python-3.7.4.tgz
$ cd Python-3.7.4
· 批改配置文件 - 编译 SSL 模块
$ vi Modules/Setup
#SSL=/usr/local/sslSSL=/home/testerzhang/3rd/openssl
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib -lssl -lcrypto
** 举荐:020 继续更新,精品小圈子每日都有新内容,干货浓度极高。
牢固人脉、探讨技术 你想要的这里都有!
领先入群,跑赢同龄人!(入群无需任何费用)
点击此处,与 Python 开发大牛一起交流学习。
群号:745895701
申请即送:
Python 软件安装包,Python 实战教程
材料收费支付,包含 Python 根底学习、进阶学习、爬虫、人工智能、自动化运维、自动化测试等 **
· 编译办法
$ ./configure --prefix=/home/testerzhang/3rd/Python-3.7.4 --with-openssl=/home/testerzhang/3rd/openssl
$ export LD_LIBRARY_PATH=/home/testerzhang/3rd/openssl/lib/:$LD_LIBRARY_PATH
$ make
$ make install
· 移植其余环境
配置相干依赖的 ssl 库文件,以便移植的时候如果零碎没有这个版本的 ssl 库,能够读取本人的库文件。
$ cp /home/testerzhang/3rd/openssl/lib/libssl.so.1.1 /home/testerzhang/3rd/Python-3.7.4/lib
$ cp /home/testerzhang/3rd/openssl/lib/libcrypto.so.1.1 /home/testerzhang/3rd/Python-3.7.4/lib
在其余机器配置 python 环境变量
$ vim ~/.bash_profile
export PYTHONHOME=$HOME/3rd/Python-3.7.4
export PYTHONPATH=$PYTHONHOME/lib/python3.7
export PYTHONUNBUFFERED=1
export PATH=$PYTHONHOME/bin:$PATH
export LD_LIBRARY_PATH=$PYTHONHOME/lib:$LD_LIBRARY_PATH
失效其余机器的环境变量
$ source ~/.bash_profile
验证
$ python3
Python 3.7.4 (default, Jan 7 2020, 11:10:45)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-23)] on linux
Type "help", "copyright", "credits" or "license" for more information.>>> import ssl