Python解决SSL不可用问题

目录

      • 一、问题描述:
      • 二、解决方案:
        • 1、查看liunx系统的openssl版本信息:
        • 2、更新openssl版本:
          • (1)安装相关依赖
          • (2)官网下载openssl版本
          • (3)解压openssl
          • (4)编译openssl
        • 2、重新编译python
          • (1)官网下载python
          • (2)解压python
          • (3)编译 python
          • (4)建立软连接

一、问题描述:

报错概述:

WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
## 警告:pip配置了需要TLS/SSL的位置,但是Python中的SSL模块不可用。

在这里插入图片描述

二、解决方案:

首先要明白python版本需要和openssl的版本需要相对匹配的,在Python3.7之后的版本,依赖的openssl,必须要是1.1或者1.0.2之后的版本,或者安装了2.6.4之后的libressl,linux自带的openssl版本过低

1、查看liunx系统的openssl版本信息:

openssl version

在这里插入图片描述
如图所示:小编的买的liunx服务器自带的openssl版本为1.1.1a ,然而对于小编来说,要安装python3.10的版本来说,openssl的版本太低了,因此需要更新openssl的版本才能满足要求;

2、更新openssl版本:

(1)安装相关依赖
yum install gcc libffi-devel zlib* openssl-devel

在这里插入图片描述

(2)官网下载openssl版本
wget https://www.openssl.org/source/openssl-3.0.1.tar.gz
(3)解压openssl
tar -zxvf openssl-3.0.1.tar.gz
(4)编译openssl
# 进入解压后的文件目录,切记一定要进入该目录才能继续执行后续命令
 cd openssl-3.0.1

其中--prefix是指定安装目录的,shared zlib库是在安装时寻找zlib库依赖的

# 配置(configure)
./config --prefix=/usr/local/openssl

在这里插入图片描述

# 编译
make 
# 安装
make install

最后重新查看openssl版本

openssl version

在这里插入图片描述

2、重新编译python

(1)官网下载python
wget https://www.python.org/ftp/python/3.10.5/Python-3.10.5.tgz
Python解决SSL不可用问题_第1张图片
(2)解压python
tar -xzvf Python-3.10.5.tgz 
(3)编译 python
./configure --prefix=/usr/local/python3
make
make install
(4)建立软连接
ln -s /usr/local/python3/bin/python3.10.1 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.10 /usr/bin/pip3

你可能感兴趣的:(python,python,ssl,bash)