公司运维提供的服务器是centos6.8,打算在上面装python3.7,结果费尽周折,按照网上的步骤python3.7能成功安装,但是import ssl却报找不到_ssl模块的错误:

import _ssl # if we can't import it, let the error propagate

ImportError: No module named _ssl

在网上搜了各种方法,有说修改python3.7安装文件中的Setup.dist,将SSL部分注释掉,但自己注释掉仍然不行。有说重新装openssl库,配置python3.7的时候指定openssl,然而也是不行。反正网上各种博客说的方法都不万能,在我这都不行。之前安装的时候只是把安装步骤的linux命令敲一遍,也不明白是什么意思,为了彻底找出原因所在,自己反复折腾了2天,每条命令、每个参数选项都去搞明白到底是啥意思,最终终于把ssl这个模块搞定了,下面就把centos6.8安装python3.7的正确步骤写下。另,如果没有特殊要求,直接装python3.6就行,python3.6在centos6.8下傻瓜式安装就不会有此问题。

言归正传,安装步骤如下:

1、安装依赖库:

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

注意,这里yum源安装的openssl的最高版本是1.0.1:

[root@4ed99ab56fea /]# rpm -qa | grep openssl

openssl-1.0.1e-57.el6.x86_64

openssl-devel-1.0.1e-57.el6.x86_64

但是python3.7安装要求openssl最低版本是1.0.2,所以不能用yum安装的openssl,需要额外下载1.0.2的openssl来安装。

2、安装1.0.2版本的openssl

下载1.0.2版本的openssl

wget http://www.openssl.org/source/openssl-1.0.2j.tar.gz

解压openssl源代码,并安装

tar -zxvf openssl-1.0.2j.tar.gz

./config --prefix=$HOME/openssl shared zlib

make && make install

注意!openssl配置是用config,而不是configure,另外openssl编译安装依赖zlib动态库,所以一定要shared zlib。

3、设置环境变量LD_LIBRARY_PATH

echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/openssl/lib" >> $HOME/.bash_profile

source $HOME/.bash_profile

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

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

tar -zxvf Python-3.7.0.tgz

./configure --prefix=$HOME/Py37 --with-openssl=$HOME/openssl

make && make install

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

[root@4ed99ab56fea bin]# ./python3

Python 3.7.0 (default, Sep 16 2018, 14:12:43)

[GCC 4.4.7 20120313 (Red Hat 4.4.7-23)] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> import ssl

>>> import _ssl

>>>

至此ok了!折腾了近2天,终于搞定了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

本文标题: centos6.8安装python3.7无法import _ssl的解决方法

本文地址: http://www.cppcns.com/jiaoben/python/239819.html

centos7 python3.7 ssl_centos6.8安装python3.7无法import _ssl的解决方法相关推荐

  1. Python3.5 win10环境下导入kera/tensorflow报错的解决方法

    这篇文章主要介绍了Python3.5 win10环境下导入keras/tensorflow报错的解决方法,较为详细的分析了Python3.5在win10环境下导入keras/tensorflow提示错 ...

  2. python3中input()方法报错traceback变量未定义的解决方法

    python3中input()方法报错traceback变量未定义的解决方法 参考文章: (1)python3中input()方法报错traceback变量未定义的解决方法 (2)https://ww ...

  3. dos系统不能安装python模块,无法使用pip命令安装python第三方库的原因及解决方法...

    再dos中无法使用pip,命令主要是没有发现这个命令.我们先找到这个命令的位置,一般是在python里面的scripts文件夹里面.我们可以把dos切换到对应的文件夹,再使用pip命令就可以了. 如果 ...

  4. win10安装程序无法将配置为在此计算机,Win10安装会遇到的问题汇总及解决方法...

    Win10发布已经有一段时间了,尽管Win10安装会遇到各种各样的问题,使用Win10的用户还是很多.那么,Win10安装会遇到的问题有什么呢?又该怎么解决呢?根据安装方式的不同,出现的问题也不同,接 ...

  5. Win8.1无法安装更新,提示0x800*****错误的解决方法

    Win8.1无法安装更新,提示0x800*****错误的解决方法 参考文章: (1)Win8.1无法安装更新,提示0x800*****错误的解决方法 (2)https://www.cnblogs.co ...

  6. mac 安装 python mysqlclient 遇到的问题及解决方法

    mac 安装 python mysqlclient 遇到的问题及解决方法 参考文章: (1)mac 安装 python mysqlclient 遇到的问题及解决方法 (2)https://www.cn ...

  7. 首次安装Pycharm出现No Python interpreter selected解决方法

    首次安装Pycharm出现No Python interpreter selected解决方法 参考文章: (1)首次安装Pycharm出现No Python interpreter selected ...

  8. linux虚拟机上不了王,虚拟机上安装Linux时出现的问题及解决方法

    虚拟机上安装Linux时出现的问题及解决方法 1.在VMWare Workstation中RedHat Error: no usable disks had been found! 原来一般Linux ...

  9. 安装Exchange2003时出0XC1037AE6错误的解决方法.

    安装Exchange2003时出0XC1037AE6错误的解决方法   今天在虚拟机安装Exchange2003时,当进行到林架构扩展ForestPrep时,出现一了个错误: 意思就是: 安装程序在安 ...

最新文章

  1. LAMP编译安装(一)——安装Apache2.4
  2. 周一 周五 记录_6.12日独家提示买入的 民丰特纸,属于突破年线的股票当天,所以我们买入后小幅盈利 于今天周一6月月15日冲高逢高获利卖出...
  3. 微信公众平台帐号通过昵称无法搜索到怎么办
  4. ASP.NET根路径的获取和将Web站点下的绝对路径转换为虚拟路径的两种方案
  5. cin函数的一点理解
  6. hdu 4588 Count The Carries
  7. 华为云MySQL数据库外网使用
  8. Pytorch —— GPU的使用
  9. mysql 索引越界_mysql隐式转换造成索引失效的事故总结
  10. Java——常用类(String)
  11. 20145307第二次JAVA学习实验报告
  12. 为什么谋生是不道德的
  13. java基于springboot+vue的网上购物商城系统
  14. 企业微信对接金蝶云星空单据模板-日常费用报销
  15. 如何在vue项目中增加网页logo
  16. linux 分区表 修复工具,介绍一个 GPL 的分区表修复工具 TestDisk
  17. dll加壳c语言,使用VC自己动手编写加壳程序
  18. 改用Hamibot-艳云脚本云控系统
  19. 没有远程桌面客户端访问许可证
  20. 最后采用加权求和的方式得到样本的_论文阅读笔记《Principal characteristic networks for few-shot...

热门文章

  1. 玩转Mixly – 9、Arduino AVR编程 之 函数
  2. 【测试】ESP32天线信号强度比较,小龟小车A2天线esp32cam板载外置天线测试数据...
  3. 如何开发一个能拯救银河系的充电器
  4. linux服务器环境要求,在Linux服务器中配置node环境
  5. 详解在Linux下实现(彩色)进度条程序,并通过makefile进行编译.
  6. 什么是OOP(面向对象编程)?
  7. 《JAVA编程思想》学习笔记——第三章 操作符
  8. 【C语言】单链表的所有操作的实现(包括PopBack、PushBack、PopFront、PushFront、Insert)...
  9. 如何用 Parse 和 Swift 搭建一个像 Instagram 那样的应用?(3)
  10. 从屌丝毕业生到三次优秀员工(腾讯三年工作感悟)