pip安装成功,但下载依赖时报错the ssl module in Python is not available
问题:
执行命令,能够正确得展示pip当前版本,证明pip安装没有问题,但是使用pip下载依赖时就会报错:
WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
pip3 -V
问题原因:
很好理解,就是the ssl module 这个ssl模块版本太低了
python版本需要和openssl的版本需要相对匹配
在Python3.7之后的版本,依赖的openssl,必须要是1.1或者1.0.2之后的版本
解决办法:
一、先确认版本
openssl version
二、安装依赖
如果已有,这步可以忽略
yum install gcc libffi-devel zlib* openssl-devel
三、下载高版本openssl
下载:
wget https://www.openssl.org/source/openssl-3.0.1.tar.gz
解压:
tar -zxvf openssl-3.0.1.tar.gz
进入目录:
cd openssl-3.0.1
/usr/local/openssl 这个目录要提前创建好
./config --prefix=/usr/local/openssl
四、编译&安装
编译:
make
安装:
make install
重新查看版本
openssl version
五、更新完openssl后要重新装一次python
我的安装教程:
https://blog.csdn.net/qq_38817920/article/details/129381778?spm=1001.2014.3001.5501
注意:在第三步时要加一个配置修改
执行命令:
vim Modules/Setup
按 i 按钮,进入编辑模式
修改文件内容:
找到# Socket module helper for socket(2)#_socket socketmodule.c # Socket module helper for SSL support; you must comment out the other# socket line above, and possibly edit the SSL variable:#SSL=/usr/local/ssl#_ssl _ssl.c \# -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \# -L$(SSL)/lib -lssl -lcrypto改为# Socket module helper for socket(2)_socket socketmodule.c # Socket module helper for SSL support; you must comment out the other# socket line above, and possibly edit the SSL variable:#SSL=/usr/local/ssl_ssl _ssl.c \ -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \ -L$(SSL)/lib -lssl -lcrypto
按esc退出编辑模式,直接输入 :wq! 保存编辑内容并退出
然后再按照安装教程,进行python的编译,安装。
至此,我的问题就解决了。
我很菜,希望不要误导你~~
来源地址:https://blog.csdn.net/qq_38817920/article/details/129522896
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341