centos6.8安装python3.7无法import _ssl的解决方法


Posted in Python onSeptember 17, 2018

公司运维提供的服务器是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天,终于搞定了。

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

Python 相关文章推荐
python支持断点续传的多线程下载示例
Jan 16 Python
Python 3.x读写csv文件中数字的方法示例
Aug 29 Python
python如何实现一个刷网页小程序
Nov 27 Python
python使用for循环计算0-100的整数的和方法
Feb 01 Python
pyqt5中QThread在使用时出现重复emit的实例
Jun 21 Python
基于python3 pyQt5 QtDesignner实现窗口化猜数字游戏功能
Jul 15 Python
Python学习笔记之lambda表达式用法详解
Aug 08 Python
使用Fabric自动化部署Django项目的实现
Sep 27 Python
python实现猜数字游戏
Mar 25 Python
Python selenium模拟手动操作实现无人值守刷积分功能
May 13 Python
使用openCV去除文字中乱入的线条实例
Jun 02 Python
python爬虫智能翻页批量下载文件的实例详解
Feb 02 Python
Python从使用线程到使用async/await的深入讲解
Sep 16 #Python
推荐10款最受Python开发者欢迎的Python IDE
Sep 16 #Python
python3中os.path模块下常用的用法总结【推荐】
Sep 16 #Python
python os.path模块常用方法实例详解
Sep 16 #Python
python中的不可变数据类型与可变数据类型详解
Sep 16 #Python
Python连接Mssql基础教程之Python库pymssql
Sep 16 #Python
python将秒数转化为时间格式的实例
Sep 16 #Python
You might like
回帖脱衣服的图片实现代码
2014/02/15 PHP
php中file_get_contents与curl性能比较分析
2014/11/08 PHP
PHP使用stream_context_create()模拟POST/GET请求的方法
2016/04/02 PHP
PHP中STDCLASS用法实例分析
2016/11/11 PHP
JavaScript日历实现代码
2010/09/12 Javascript
浅说js变量
2011/05/25 Javascript
读jQuery之七 判断点击了鼠标哪个键的代码
2011/06/21 Javascript
JavaScript Length 属性的总结
2015/11/02 Javascript
12个非常实用的JavaScript小技巧【推荐】
2016/05/18 Javascript
获取jqGrid中选择的行的数据
2016/11/30 Javascript
vue-cli+webpack记事本项目创建
2017/04/01 Javascript
BootStrap点击保存后实现模态框自动关闭的思路(模态框)
2017/09/26 Javascript
vue生成token并保存到本地存储中
2018/07/17 Javascript
node版本管理工具n包使用教程详解
2018/11/09 Javascript
Vue 指令实现按钮级别权限管理功能
2019/04/23 Javascript
vue动态注册组件实例代码详解
2019/05/30 Javascript
layui点击弹框页面 表单请求的方法
2019/09/21 Javascript
Element的el-tree控件后台数据结构的生成以及方法的抽取
2020/03/05 Javascript
通过python下载FTP上的文件夹的实现代码
2013/02/10 Python
Php多进程实现代码
2018/05/07 Python
tensorflow实现图像的裁剪和填充方法
2018/07/27 Python
用Python实现大文本文件切割的方法
2019/01/12 Python
Python docx库用法示例分析
2019/02/16 Python
Python 二叉树的层序建立与三种遍历实现详解
2019/07/29 Python
python 并发编程 多路复用IO模型详解
2019/08/20 Python
Python嵌套函数,作用域与偏函数用法实例分析
2019/12/26 Python
python的pip有什么用
2020/06/17 Python
python pygame 愤怒的小鸟游戏示例代码
2021/02/25 Python
英国领先的奢侈品零售商之一:CRUISE
2016/12/02 全球购物
会计师职业生涯规划范文
2014/02/18 职场文书
岗位职责说明书模板
2014/07/30 职场文书
爱心捐款活动总结
2015/05/09 职场文书
城南旧事读书笔记
2015/06/29 职场文书
2015迎新晚会活动总结
2015/07/16 职场文书
Django实现聊天机器人
2021/05/31 Python
【海涛dota】偶遇拉娜娅 质量局德鲁伊第一视角解说
2022/04/01 DOTA