Centos安装python3导入ssl时解决 ModuleNotFoundError: No module named ‘_ssl‘问题

这篇具有很好参考价值的文章主要介绍了Centos安装python3导入ssl时解决 ModuleNotFoundError: No module named ‘_ssl‘问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

当装好python3导入ssl模块时报以下错误: ModuleNotFoundError: No module named '_ssl'

import _ssl # if we can't import it, let the error propagate ImportError: No module named _ssl

modulenotfounderror: no module named '_ssl,Linux,centos,ssl,linux,novnc,python


参考试了好多文章,发现都不太好使,最终找到了解决方案,安装openssl的依赖

解决办法:

centos安装python3.7时,查阅知需要的openssl版本最低为1.0.2,但是centos 默认的为1.0.1,所以需要重新更新openssl

一、安装依赖库:

如果有网,直接在线安装依赖库,如果部署环境没网,可以参考最后一节,五、注1:openssl或nginx离线依赖安装过程

yum install -y zlib zlib-dev openssl-devel sqlite-devel bzip2-devel libffi libffi-devel gcc gcc-c++

二、安装新版本的openssl

注意!openssl配置是用config,而不是configure,另外openssl编译安装依赖zlib动态库,所以一定要shared zlib 自行到官网查阅最新版本~

1、openssl安装包官网下载地址:

http://www.openssl.org/source/

也可在该文章最后面一节内容,注1:步骤中所述下载到openssl1.0.2版本,可以满足Centos7.8环境。

wget http://www.openssl.org/source/openssl-1.1.1.tar.gz            (如果有网就可以直接下载,没网就需要单独下载安装包通过终端工具从windows上传到centos中)

tar -zxvf openssl-1.0.2k.tar.gz                                                ( 解压对应版本安装包)

cd openssl-1.0.2k                                                                (进入对应的解压目录)

./config --prefix=/usr/local/openssl shared zlib 

 (prefix为配置安装目录,shared zlib 安装依赖库)这一步最重要,一定要shared

make && make install                                                         (编译、安装)


2、设置环境变量LD_LIBRARY_PATH(一般用户环境变量即可生效,二选一即可)

        这一步一定要有!!LD_LIBRARY_PATH环境变量主要用于指定查找共享库(动态链接库)时除了默认路径之外的其他路径。当执行函数动态链接.so时,如果此文件不在缺省目录下‘/lib' and ‘/usr/lib',那么就需要指定环境变量LD_LIBRARY_PATH

(1)用户环境变量:

echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/openssl/lib" >> /usr/local/.bash_profile     (在用户环境变量文件中添加openssl的环境变量)

source /usr/local/.bash_profile                        (重新加载该路径下的用户环境变量文件)

注:在实际服务器上应用过程中发现,该环境变量只会当前shell脚本生效,如果下次重新进入shell脚本会失效,故如果嫌麻烦每次启动服务都要用的话,可直接设置到path环境变量中。(该步涉及到Centos系统使用习惯,一般程序环境变量设置入用户变量即可,path专门保存系统变量,但一般用户环境变量会失效,放入path会全局生效)。

(2)系统环境变量:

如果选择将其设置为全局的在path系统环境变量中设置命令如下:

echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/openssl/lib" >>  /etc/profile    

(在系统环境变量文件中添加openssl的环境变量)

source /etc/profile                                    (重新加载该路径下的系统环境变量文件)


三、解压python3.7,并安装,一定要指定刚才安装的1.1.1版本的openssl!!!

tar -zxvf Python-3.7.0.tgz                                                                        (解压安装包)

./configure --prefix=/usr/local//python3 --with-openssl=/usr/local//openssl            

    (配置安装目录,指定openssl环境的安装目录)

make && make install                                                                                (编译、安装)

四、至此python3.7就安装完了,来检验下ssl模块能否被导入吧:

1、创建python软连接

ln -s /usr/local/python3/bin/pip3  /usr/bin/pip        

  (pip命令行调用指向pip3)

ln -s /usr/local/python3/bin/python3  /usr/bin/python             

  (python命令行调用指向python3,如果同时安装有其他版本python可通过该命令指定用到的python版本)

ln -s /usr/local/python3/bin/python3  /usr/bin/python3        

  (python3命令行调用指向python3,由于某些程序执行时要求是python3命令调用,该步可根据需要进行设置)

python --version                                                   

 查看当前python安装版 

modulenotfounderror: no module named '_ssl,Linux,centos,ssl,linux,novnc,python

 2、导入ssl模块

python3                      (进入python3命令行)

import ssl                        (导入ssl模块)

import _ssl                        (导入_ssl模块)

exit()                                        (退出python3命令行)

modulenotfounderror: no module named '_ssl,Linux,centos,ssl,linux,novnc,python

3、查看pyhon的软链接指向。

modulenotfounderror: no module named '_ssl,Linux,centos,ssl,linux,novnc,python

以上Centos安装python3导入ssl时解决 ModuleNotFoundError: No module named '_ssl'问题的全部解决过程!!!


五、注1:openssl或nginx离线安装依赖库(没网可离线,也可在线):

第(1)步在线安装和第(2)步离线安装,二选一安装即可。

(1)如果是在线安装直接用yum命令就可以安装,依赖安装成功即可。

yum install -y zlib zlib-dev openssl-devel sqlite-devel bzip2-devel libffi libffi-devel gcc gcc-c++

(2)如果是离线安装直接下载下面这个我传到百度云上的安装依赖包就可以,里面有依赖包和openssl1.0.2版本。

该离线包同样可以用于nginx离线安装环境依赖。

安装包下载方式:百度云、CSDN、openssl官网均可。

A、链接:https://pan.baidu.com/s/1mdwddtYEo-_qr3OUmBtxMw 
提取码:qy2k

modulenotfounderror: no module named '_ssl,Linux,centos,ssl,linux,novnc,python

B、CSDN下载资源,已设置免积分下载

Linux系统centos7环境下安装openssl1.0.2所需安装包及nginx离线安装所需全部依赖包,均可使用-Linux文档类资源-CSDN文库

C、最新版openssl安装包也可在openssl官网下载。

/source/index.htmlhttps://www.openssl.org/source/

(3)依赖包解压如下: 

modulenotfounderror: no module named '_ssl,Linux,centos,ssl,linux,novnc,python

具体打开文件夹如下:

modulenotfounderror: no module named '_ssl,Linux,centos,ssl,linux,novnc,python

 安装命令如下:

rpm -ivh   xxxx.rpm        --nodeps

命令含义注释:rpm -ivh (rpm包的安装命令),--nodeps 跳过环境依赖

例如:

rpm -ivh openssl-devel-1.0.2k-19.el7.x86_64.rpm --nodeps

 ---------------------------------------------------------以下无正文------------------------------------------------------

注:仅供学习,记录问题和参考,共勉!

参考文章:

1、centos 解决python3.7 安装时No module named _ssl - 小小日常 - 博客园

2、​​​​​​关于服务器上安装新版Python报错的问题_Ricardo5566的博客-CSDN博客​​​​​​

3、python3虚拟环境中解决 ModuleNotFoundError: No module named '_ssl'_北极冰熊的博客-CSDN博客​​​​​​ ​​​​​​

4、CentOS7设置环境变量_C语言实战技术的博客-CSDN博客

5、configure --prefix=/的作用和用法_今天也是橙汁的博客-CSDN博客

6、Linux ./configure --prefix 命令是什么意思?

7、Linux更改python软连接 - 知乎

8、linux安装和卸载python3_悠悠-我心的博客-CSDN博客_linux卸载python3文章来源地址https://www.toymoban.com/news/detail-816182.html

到了这里,关于Centos安装python3导入ssl时解决 ModuleNotFoundError: No module named ‘_ssl‘问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python3.10及以上版本编译安装ssl模块

    前言 编译安装openssl 下载地址 编译安装 其中:  -fPIC: 位置无关代码  --prefix=: 路径 一般选 /usr/include/openssl  enbale-shared: 动态库 安装openssl3.0.7问题 报错原因: 缺少IPC/Cmd.pm模块 解决方法: 安装perl-CPAN 进入CPAN的she模式,首次进入需要配置shel,按照提示操作即可 在shell中安

    2024年02月01日
    浏览(37)
  • python3.8 安装 ssl 模块 和 _ctypes 模块

    我在之前给 python3.10 安装 ssl 模块后以为该步骤 “对于 python3.6、python3.8 应该同样适用。” 。今天晚上我尝试给服务器安装一个带 ssl 模块的 python3.8 的时候,照着之前安装 3.10 的方案来,然后失败了-_-||。又折腾了一下,发现 3.8 和 3.10 的配置脚本是有区别的,不能一概而论

    2024年02月12日
    浏览(42)
  • Python中经常会出现ModuleNotFoundError错误,这是导入模块时未正确安装或路径错误所致

    Python中经常会出现ModuleNotFoundError错误,这是导入模块时未正确安装或路径错误所致。这个错误的解决方案有很多种,本篇文章将为大家提供一种解决’No module named ‘torch._six’\\\'错误的方法。 当你运行Python代码时,如果提示 ‘No module named ‘torch._six’’ 错误,原因是你的计算

    2024年02月16日
    浏览(41)
  • 完美解决:Python3.10报错 No module named ‘_ssl‘

    报错详情: 操作系统为centos7,python版本为3.10.7,openssl版本为3.0.5,运行gunicorn报No module named \\\'_ssl\\\' 原因就是python3.10和openssl3.0.5的版本配置文件跟以前有点区别,python3.10的版本OPENSSL不再是/usr/local/ssl 的默认路径,变成了/path/to/openssl/directory,已经提示得很明白了让你在这里写入

    2024年02月12日
    浏览(32)
  • centos安装python3详细教程

    centos7自带版本是python2.7 如果要用的3.0以上的版本需要手动安装,下载地址:https://www.python.org/ftp/python/ 1、先查看系统python的位置在哪儿 python2.7默认安装是在 /usr/bin目录中,切换到/usr/bin/ python指向的是python2,python2指向的是python2.7,因此我们可以装个python3,然后将python指向

    2024年02月15日
    浏览(27)
  • CentOS 安装 python3.11 教程

    1. 更新系统 在安装 Python 3.11 之前,建议先更新系统,以确保系统是最新版本,并且避免因为系统更新过程中的问题造成 Python 安装出错。 运行以下命令: 2. 安装编译工具和依赖库 Python 是一种编程语言,它的解析器需要通过编译才能运行。因此,在安装 Python 3.11 之前,需要

    2024年02月12日
    浏览(41)
  • docker 安装python3.8环境镜像并导入局域网

    yum -y install docker    docker version    #显示 Docker 版本信息 可以看到已经下载下来了 拉取镜像python3镜像 运行本地镜像,并进入镜像环境  run  运行 -i   以交互模式运行容器,通常与 -t 同时使用; -t  为容器重新分配一个伪输入终端,通常与 -i 同时使用; -d 后台 进入容器 

    2024年01月25日
    浏览(34)
  • Python3报No module named ‘_ssl‘ 最简单解决办法

    安完Python3运行报 No module named ‘_ssl‘,搜的其他教程都让人改Python的Module/setup.dist文件,其实不用这么麻烦 CentOS自带的openssl有点老,建议下个新的 ①下载最新稳定版本的OpenSSL源码包 ②解压并切换目录 ③设定Openssl 安装 ④执行命令 ⑤执行make、make install,编译Openssl ⑥重新安

    2024年01月24日
    浏览(34)
  • Centos 安装 python3.x 为默认

    CentOS 7 中默认安装了 Python,但是版本是2.x的,由于2020年python2.x将停止更新,因此需要将版本升级至3.x。但由于python2.x是系统集成的,很多命令都是要基于python2.x,比如:yum。因此在更新 Python 时,建议新旧版本共存。 yum安装,简单方便,但是版本受限 源码安装,较yum安装复

    2023年04月25日
    浏览(25)
  • Linux (centos) 安装Python3.9(保姆级别)

    项目运行需要python环境 ,推荐python3以上,作者使用的是python3.9.7,以下是安装步骤: 特别注意,Linux通常附带大多数Python都是2.7.5版本。如果我们想使用Python3,最好安装一个新的Python3环境,但请不要尝试删除Python2,避免引起不必要的麻烦。 1. 更新系统软件包(可以使用cent

    2024年02月07日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包