乐趣区

关于python:用Centos6编译Python374

阐明

实用于 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
退出移动版