• pip is configured with locations that require TLS/SSL问题


    linux 6 安装python3.7后,使用pip命令出现问题,提示找不到ssl模块,出现错误如下

    # pip list
    Package Version
    ---------- -------
    pip 10.0.1
    setuptools 39.0.1
    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

    pip版本

    # pip --version
    pip 10.0.1 from /usr/local/python3/lib/python3.7/site-packages/pip (python 3.7)
    # pip list
    Package    Version
    ---------- -------
    pip        10.0.1 
    setuptools 39.0.1 
    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

    经百度查询,系统centos6.5后,其中openssl的版本为

    # openssl version
    OpenSSL 1.0.1e-fips 11 Feb 2013

    而python3.7需要的openssl的版本为1.0.2或者1.1.x,需要对openssl进行升级,并重新编译python3.7.0。yum 安装的openssl 版本都比较低。

    升级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 
    # ./config --prefix=/usr/local/openssl no-zlib
    Operating system: x86_64-whatever-linux2
    Configuring OpenSSL version 1.1.1a (0x1010101fL) for linux-x86_64
    Using os-specific seed configuration
    Creating configdata.pm
    Creating Makefile
    
    **********************************************************************
    ***                                                                ***
    ***   OpenSSL has been successfully configured                     ***
    ***                                                                ***
    ***   If you encounter a problem while building, please open an    ***
    ***   issue on GitHub <https://github.com/openssl/openssl/issues>  ***
    ***   and include the output from the following command:           ***
    ***                                                                ***
    ***       perl configdata.pm --dump                                ***
    ***                                                                ***
    ***   (If you are new to OpenSSL, you might want to consult the    ***
    ***   'Troubleshooting' section in the INSTALL file first)         ***
    ***                                                                ***
    **********************************************************************
    [root@centos6 openssl-1.1.1a]# echo $?
    0
    # make && make install

    备份原配置文件

    # mv /usr/bin/openssl /usr/bin/openssl.bak
    # mv /usr/include/openssl/ /usr/include/openssl.bak

    新版设置

    # 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

    修改系统配置,写入openssl库文件的搜索路径

    # echo '/usr/local/openssl/lib' >> /etc/ld.so.conf

    使修改后的/etc/ld.so.conf生效

    # ldconfig -v

    查看版本

    # openssl version
    OpenSSL 1.1.1a  20 Nov 2018

    需要重新编译安装python

    # ./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl
    ...
    # make && make install

    再次使用pip

    # pip list
    Package    Version
    ---------- -------
    pip        10.0.1 
    setuptools 39.0.1 
    You are using pip version 10.0.1, however version 19.3.1 is available.
    You should consider upgrading via the 'pip install --upgrade pip' command.

    升级pip

    # pip install --upgrade pip
    Collecting pip
      Downloading https://files.pythonhosted.org/packages/00/b6/9cfa56b4081ad13874b0c6f96af8ce16cfbc1cb06bedf8e9164ce5551ec1/pip-19.3.1-py2.py3-none-any.whl (1.4MB)
        100% |████████████████████████████████| 1.4MB 13kB/s 
    Installing collected packages: pip
      Found existing installation: pip 10.0.1
        Uninstalling pip-10.0.1:
          Successfully uninstalled pip-10.0.1
    Successfully installed pip-19.3.1

    尝试pip安装

    # pip install matplotlib
    WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/matplotlib/
    Collecting matplotlib
      Downloading https://files.pythonhosted.org/packages/61/42/3e92d7aa64295483fbca20a86c89b34d0cb43cffaadaffe028793902d790/matplotlib-3.1.2-cp37-cp37m-manylinux1_x86_64.whl (13.1MB)
         |                                | 30kB 4.9kB/s eta 0:44:56ERROR: Exception:
    Traceback (most recent call last):
      File "/usr/local/python3/lib/python3.7/site-packages/pip/_vendor/urllib3/response.py", line 425, in _error_catcher

    可以下载安装,只是我的网络不行,下载不了。。

  • 相关阅读:
    高性能的索引策略(上)
    索引的优点
    Mysql 索引的基础(下)
    Mysql 索引的基础(上)
    如果使用的是orm,是否还需要关系索引
    Mysql 数据类型使用说明
    WCF开发实战系列三:自运行WCF服务
    WCF开发实战系列二:使用IIS发布WCF服务
    WCF开发实战系列一:创建第一个WCF服务
    .Net并行编程之二:并行循环
  • 原文地址:https://www.cnblogs.com/zwj-linux/p/12057009.html
Copyright © 2020-2023  润新知