Python解决SSL不可用问题 不指定

jed , 2023-11-11 10:51 , 服务器技术 , 评论(0) , 阅读(179) , Via 本站原创 | |
一、问题描述:
报错概述:

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的版本才能满足要求;
先卸载之前安装的旧版本

yum -y remove openssl openssl-devel

2、更新openssl版本:
(1)安装相关依赖

yum install gcc libffi-devel zlib* openssl-devel
yum -y install perl-IPC-Cmd


安装perl-CPAN

[root@centos7 ~]# yum install -y perl-CPAN
进入CPAN的shell模式,首次进入需要配置shell,按照提示操作即可(本人perl小白,全部选择默认配置,高手请根据提示自行选择)

[root@centos7 ~]# perl -MCPAN -e shell
在shell中安装缺少的模块

cpan[1]> install IPC/Cmd.pm
安装成功后,重新编译OpenSSL即可

(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


#建立新的软链接

ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl

#更新动态链接库

echo "/usr/local/openssl/lib64" >> /etc/ld.so.conf
ldconfig -v
ldd /usr/local/openssl/bin/openssl

==========================

2、重新编译python
安装依赖

yum -y update
yum -y install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel

(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 --with-ssl --prefix=/usr/local/python3/


make && make install


4)建立软连接

sudo ln -sf /usr/local/python3/bin/python3.10 /usr/bin/python
sudo ln -sf /usr/local/python3/bin/python3.10 /usr/bin/python3
sudo ln -sf /usr/local/python3/bin/pip3.10 /usr/bin/pip
sudo ln -sf /usr/local/python3/bin/pip3.10 /usr/bin/pip3

发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]