CentOS7/RHEL7编译安装Python3.6(支持SSL)

yum源自带的python版本依然停留在3.4,因此需要手动编译安装Python3.6以使用新特性。

测试环境: AWS RHEL7

Python版本: Python3.6.3

-2.安装readline-devel

readline-devel可以解决python交互模式下出现^]]这种乱码的情况。

yum install readline-devel

-1.更新zlib

yum源的zlib有安全问题,从www.zlib.net下载最新版本的zlib,更新编译安装。

有clang可以用clang编译安装

wget http://www.zlib.net/zlib-1.2.11.tar.xz #此处到zlib.net替换为最新的地址
tar xf zlib-1.2.11.tar.xz
if type clang >/dev/null 2>&1; then CC=clang ./configure; else ./configure; fi
make -j4 #替换为CPU逻辑核心数
make install #可能需要前面加sudo

 

0.之前是否编译过OpenSSL

测试方法 

 ls /usr/local/ssl

若有文件,可跳过这一步。如果没有文件,继续:

从OpenSSL官网下载最新的安装包并编译安装,安装完成后执行

openssl version

 

确定安装的版本。

1. 从Python.org下载最新版本Python的XZ压缩包.

Python 3.6.3的地址: https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tar.xz

命令: 

wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tar.xz

 Python目前用clang编译会出现一些奇怪的问题(我没有成功)。因此此处用gcc编译。

./configure --enable-shared --enable-optimizations --prefix=/usr/local/python36

 

此步完成后,需要修改Modules/Setup文件

vi Modules/Setup

VIM中输入/SSL找到SSL所在行,解注释掉以下内容:

SSL=/usr/local/ssl
_ssl _ssl.c \
        -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
        -L$(SSL)/lib -lssl -lcrypto

另外,_csv _md5 _sha1 _sha256  _sha512 _sha3 _socket也可以考虑被解注释,都算实用的模块。

如果现在Python的交互模式中正常使用,一定要解注释readline! (之前要安装readline-devel)

之后

make -j4
make install

 

转载于:https://www.cnblogs.com/octo/p/centos7-install-python3.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值