手记

用Centos6编译Python3.7.4

说明

适用于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

· 编译方法

$  ./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
1人推荐
随时随地看视频
慕课网APP