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

一、问题描述

报错概述

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

(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

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注