zoukankan      html  css  js  c++  java
  • python 安装: WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

     解决 python 安装, WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

    WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.


    1.安装相关依赖

    yum install gcc libffi-devel zlib* openssl-devel
    # libffi-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make


    2.下载并解压
    wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tar.xz
    # 下载
    wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tar.xz
    # 解压并编译:
    tar -xvJf Python-3.7.1.tar.xz
    cd Python-3.7.1

    3.编译安装
    ./configure prefix=/usr/local/python3
    make && make install
    # 编译完成后,创建软链接文件到执行文件路径:
    ln -s /usr/local/python3/bin/python3 /usr/bin/python3
    ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
    # 我们可以清除之前编译的可执行文件及配置文件 && 清除所有生成的文件:
    make clean && make distclean

    bug: 使用pip 命令失败
    2.1 错误信息
    pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
    Collecting virtualenv
    Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/virtualenv/
    Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/virtualenv/
    Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/virtualenv/
    Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/virtualenv/
    Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/virtualenv/
    Could not fetch URL https://pypi.org/simple/virtualenv/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/virtualenv/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping
    Could not find a version that satisfies the requirement virtualenv (from versions: )
    No matching distribution found for virtualenv
    pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
    Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping

    2.2 原因
    系统版本centos6.5,其中openssl的版本为OpenSSL 1.0.1e-fips 11 Feb 2013,而python3.7需要的openssl的版本为1.0.2或者1.1.x,需要对openssl进行升级,并重新编译python3.7.0。yum 安装的openssl 版本都比较低。

    2.3 升级openssl
    # 1.下载openssl
    wget https://www.openssl.org/source/openssl-1.1.1a.tar.gz
    tar -zxvf openssl-1.1.1a.tar.gz
    cd openssl-1.1.1a
    # 2.编译安装
    ./config --prefix=/usr/local/openssl no-zlib #不需要zlib
    make
    make install
    # 3.备份原配置
    mv /usr/bin/openssl /usr/bin/openssl.bak
    mv /usr/include/openssl/ /usr/include/openssl.bak
    # 4.新版配置
    ln -s /usr/local/openssl/include/openssl /usr/include/openssl
    ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/local/lib64/libssl.so
    ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
    # 5.修改系统配置
    ## 写入openssl库文件的搜索路径
    echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
    ## 使修改后的/etc/ld.so.conf生效 
    ldconfig -v
    # 6.查看openssl版本
    openssl version

    openssl version 提示:

     /usr/local/openssl/bin/openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

    假如你的libssl.so.1.1 文件在/usr/local/openssl/lib/下面,可以这样做

    ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1

    ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1


    3.3 重新安装python
    ./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl
    make
    make install

  • 相关阅读:
    希望走过的路成为未来的基石
    第三次个人作业--用例图设计
    第二次结对作业
    第一次结对作业
    第二次个人编程作业
    第一次个人编程作业(更新至2020.02.07)
    Springboot vue 前后分离 跨域 Activiti6 工作流 集成代码生成器 shiro权限
    springcloud 项目源码 微服务 分布式 Activiti6 工作流 vue.js html 跨域 前后分离
    spring cloud springboot 框架源码 activiti工作流 前后分离 集成代码生成器
    java代码生成器 快速开发平台 二次开发 外包项目利器 springmvc SSM后台框架源码
  • 原文地址:https://www.cnblogs.com/larack/p/12196850.html
Copyright © 2011-2022 走看看