在centos7上安装python3.7,很多时候提示缺少安装_ssl模块,这导致很多依赖于ssl的模块无法正常安装,如ulib3,requests。

百度网上也提供很多方法,诸如安装liber.ssl来解决。经过一番探索后,个人总结如下:

(1)、python3.7的_ssl模块依赖openssl 1.0.2或者1.1以上版本,如果openssl版本低于以上版本,将无法正常安装python3.7 的ssl模块,提示:Python requires an OpenSSL 1.0.2 or 1.1 compatible libssl with X509_VERIFY_PARAM_set1_host().

解决方法:

1、通过yum update 方式更新openssl。这种方式优点是实现简单,缺点是前提需要配置公网yum源,通过公网yum源来实现更新,对于无网络的服务器来说比较麻烦。

2、通过下载源码进行编译。这种方式比较适合于内网,也不会有依赖问题。

(a)、官网下载:https://www.openssl.org/source/

(b)、解压后执行编译安装:./config --prefix=/opt/openssl-1.0.2q/ --openssldir=/opt/openssl-1.0.2q/openssl && make && make install

(2)、python3.7的_sshl模块需要调用ssl.h函数头,如果操作系统缺少安装openssl-devel软件包,如果是通过yum或者rpm包安装方式的,则需要安装或者更新openssl-devel软件包。如果是通过源码编译实现的,则在源码编译安装时已提供了,无需再安装。

(3)、openssl的路径设置,这个很重要。

1、在python3.7的configure源码安装中,在configure文件需要指定openssl的路径,即配置with-openssl(即./configure  --prefix=/opt/python-3.7.1 --with-openssl=/opt/openssl-1.0.2q),这样python的configure就可以正常读取openssl的准确版本了。如果不配置则读取的可能是未更新的openssl版本。

2、如果是通过yum或者rpm安装openssl的,则通过rpm -qa |grep openssl或者软件包名后,执行rpm -ql openssl软件包名获取openssl的路径,最后通过指令ln软连接实现。我是通过如下指令实现的:ln -s /usr/include/openssl  /usr/local/ssl 实现。(个人在测试的时候,发现python编译安装时候,一直读取的ssldirs是"/usr/local/ssl /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /usr",即使配置了with-openssl,如果没有配置PKG_CONFIG等环境变量,仍然会读取默认的配置,因此需要将openssl的路径通过连接方式链接到/usr/local/ssl目录下)。当满足以上配置后,在python3.7执行./configure  --prefix=/opt/python-3.7.1,即可在configure阶段就可以看到libssl的支持。例如:

电脑安装python3.7说缺少-centos7:python3.7 缺少_ssl模块问题相关推荐

  1. 电脑安装python失败-解决“Windows 7 Python3.6 安装失败”问题

    问题:Windows 7 Python3.6 Setup failed 错误提示:Windows 7 Service Pack 1 and all applicable updates are req ...

  2. win7 dll怎么在xp运行_win7电脑安装软件提示缺少vcruntime140.dll如何解决

    最近有位win7系统用户使用电脑安装office2016的时候,系统却提示"缺少vcruntime140.dll",这导致了office2016无法正常安装,用户不知道怎么解决,为 ...

  3. 提示tun虚拟网卡没有安装_Win10家庭版通过Hyper-V安装Centos7+Python3.7过程总结

    Win10专业版自带有虚拟机Hyper-V, 只需要在控制面板--程序中将其添加到应用就可使用,非常方便,但我电脑预装的是Win10家庭版,没有这个工具,但可以通过以下方法把它安装上: 新建文件Hyp ...

  4. centos7安装python3.7.4_基于centos7 安装python3.6.4出错的解决方法

    基于centos7 安装python3.6.4出错的解决方法 错误:zipimport.ZipImportError: can't decompress data; zlib not availabl ...

  5. 虚拟机centos7安装python_Win10家庭版通过Hyper-V安装Centos7+Python3.7过程总结

    Win10专业版自带有虚拟机Hyper-V, 只需要在控制面板--程序中将其添加到应用就可使用,非常方便,但我电脑预装的是Win10家庭版,没有这个工具,但可以通过以下方法把它安装上: 新建文件Hyp ...

  6. centos7安装wget_Centos7系统切换Python2到Python3.x

    CentOS7系统现有python版本 我们先来查看一下安装的CentOS 7操作系统中python的版本情况.直接在命令行上输入python: [cao@localhost ~]$ python P ...

  7. 【Python】CentOs7 Python3安装Openssl以及解决ssl问题

    [Python]CentOs7 Python3安装Openssl以及解决ssl问题 参考文章: (1)[Python]CentOs7 Python3安装Openssl以及解决ssl问题 (2)http ...

  8. centos7 python3安装numpy_Centos7安装python3、numpy、scipy、matplotlib、pandas等

    centos 7 已经自带 python 2.7.15,这里需要安装 python 3 [root@pwm]# python Python 2.7.15 |Anaconda, Inc.| (defau ...

  9. 同一个电脑可安装多个python版本吗_同一台电脑安装不同版本的python(python2.7和python3.7)...

    先安装的是python2.7 而后又安装的python3.7版本,如同python2.7升级后,也自带这pip,所以就不用像网上那么麻烦. 第一步 安装python2.7,选择增加到环境变量==> ...

最新文章

  1. 数据库连接池到底应该设多大?
  2. python 获取当前时间 时间差
  3. spring boot构建
  4. 用python读取股票价格_Python读取文件并给出股票价格
  5. 创建NGINX Plus和NGINX配置文件
  6. VS2010与OpenCV2410简单配置
  7. 在线文档有哪些技术难点
  8. python实战经典例子_Python入门经典实例
  9. 阳明大神---容器时代
  10. 20145236《网络攻防》 Exp3 免杀原理与实践
  11. 杭州银行面试题【杭州多测师】【杭州多测师_王sir】
  12. 免费图标:来自Samuray的免费电视/电影相关图标
  13. php登陆网页版微信代码,php版微信公众平台之微信网页登陆授权示例
  14. 【论文整理1】On the Continuity of Rotation Representations in Neural Networks
  15. CUDA快速傅里叶变换 cuFFT
  16. 如何将WORD转成SWF
  17. 【初学者】SDK的理解(客户端SDK和服务器端SDK)
  18. pikachu靶场通关之暴力破解
  19. java的八种基本蕾西_(1/7)[代码整洁之道]你真的会用枚举吗?非也!
  20. 大数据来袭-玩微博共享也可以赚不少钱

热门文章

  1. spark RDD操作的底层实现原理
  2. 破解phpstorm,webstorm ,pycharm ,intellij IDEA
  3. Node.js-sublime text3 配置node.js(ERROR: The process node.exe not found.)
  4. ABAP和Java里关于DEFAULT(默认)机制的一些语言特性
  5. 夜晚 十点 React-Native 源码 暴力畜 系列
  6. 进程管理3--经典的进程同步问题
  7. AJAXA进行分页(2)
  8. SQL server 2000/2005 智能感应插件(菜鸟新手的帮手)
  9. [数据分析][评价方法]打分式评价-信息熵理论与熵权法
  10. 【oracle】复合数据类型