zoukankan      html  css  js  c++  java
  • Python3.7安装(解决ssl问题)

    摘自:https://blog.csdn.net/love_cjiajia/article/details/82254371

    python3.7安装(解决ssl的问题)

    1) 安装准备

    yum -y install zlib zlib-devel 
    yum -y install bzip2 bzip2-devel 
    yum -y install ncurses ncurses-devel 
    yum -y install readline readline-devel 
    yum -y install openssl openssl-devel 
    yum -y install openssl-static 
    yum -y install xz lzma xz-devel 
    yum -y install sqlite sqlite-devel 
    yum -y install gdbm gdbm-devel 
    yum -y install tk tk-devel

    2) 安装libressl代替openssl-devel 
    由于系统的openssl是1.0.1的版本,对于python3.7太老了,需要更新为openssl1.0.2或者libressl2.64(不含)以后的版本,所以这里从libressl官网下载libressl源码,编译生成库文件代替系统的openssl1.0.1

    进入解压后的目录libressl-2.8.0

    运行: ./config –prefix=/usr/local/ssl 
    make 
    make intall

    mv /usr/bin/openssl /usr/bin/openssl.bak 
    mv /usr/include/openssl /usr/include/openssl.bak 
    ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl 
    ln -s /usr/local/ssl/include/openssl /usr/include/openssl

    cd /etc/ld.so.conf.d 
    新建文件 
    vim libressl-2.8.0.conf 
    #将以下行加入文件,并保存 
    /usr/local/ssl/lib

    ldconfig -v #重新加载库文件

    验证是否安装完成 
    [root@testmachine hadoop_software]# openssl version 
    LibreSSL 2.8.0

    3) 安装python3.7 
    从官网下载python3.7的源码, 
    解压后进入Python-3.7.0

    编译前需要设置环境变量(重要) 
    export LDFLAGS=”-L/usr/local/ssl/lib” 
    export CPPFLAGS=”-I/usr/local/ssl/include” 
    export PKG_CONFIG_PATH=”/usr/local/ssl/lib/pkgconfig”

    ./configure –prefix=/usr/python –enable-shared CFLAGS=-fPIC 
    运行后会出现一堆信息: 
    注意最后的ssl检查,如下图所示: 
    这里写图片描述 
    如果ssl版本太旧或者编译前没有设置ssl的环境变量,这里是检测不到ssl的,安装完成后的pip3是无法使用的,这点非常关键!

    检测通过后,运行 
    make 
    make install

    ln -s /usr/python/bin/python3 /usr/bin/python3 
    ln -s /usr/python/bin/pip3 /usr/bin/pip3

    验证python 安装正确

    import ssl没有报错

    这里写图片描述

    参考:http://ju.outofmemory.cn/entry/363322

  • 相关阅读:
    FlexBuilder2组件学习之Tree组件
    ASP.Net数据验证中的验证组
    私のスピーチ
    ASP调用ORACLE的存储过程
    将Excel数据导入到Sql Server "当IDENTITY_INSERT设置为OFF时" 的解决
    Android中如何使用命令行查看内嵌数据库SQLite3
    20110406新工作的开始
    (转)如何在Eclipse中查看JDK类库的源代码
    Sql Server存储过程中加入Try Catch,并向客户端返回友好信息
    解决 Access 磁盘空间或内存不足一例
  • 原文地址:https://www.cnblogs.com/LiuYanYGZ/p/12041788.html
Copyright © 2011-2022 走看看