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中http请求方法库汇总
Jan 06 Python
Python实现的多线程http压力测试代码
Feb 08 Python
Python基于tkinter模块实现的改名小工具示例
Jul 27 Python
python编写Logistic逻辑回归
Dec 30 Python
python使用pygame框架实现推箱子游戏
Nov 20 Python
Django 创建新App及其常用命令的实现方法
Aug 04 Python
Django中使用haystack+whoosh实现搜索功能
Oct 08 Python
基于python3监控服务器状态进行邮件报警
Oct 19 Python
Python3 中作为一等对象的函数解析
Dec 11 Python
python GUI库图形界面开发之PyQt5窗口背景与不规则窗口实例
Feb 25 Python
Python 统计位数为偶数的数字代码详解
Mar 15 Python
浅析Django接口版本控制
Jun 26 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
php jsonp单引号转义
2014/11/23 PHP
理解 JavaScript 预解析
2009/10/25 Javascript
通过Jscript中@cc_on 语句识别IE浏览器及版本的代码
2011/05/07 Javascript
JS验证日期的格式YYYY-mm-dd 具体实现
2013/06/29 Javascript
javascript的回调函数应用示例
2014/02/20 Javascript
JavaScript实现生成GUID(全局统一标识符)
2014/09/05 Javascript
jquery单选框radio绑定click事件实现方法
2015/01/14 Javascript
浅析javascript函数表达式
2016/02/10 Javascript
jQuery Mobile框架中的表单组件基础使用教程
2016/05/17 Javascript
jquery easyui datagrid实现增加,修改,删除方法总结
2016/05/25 Javascript
jQuery设置单选按钮radio选中/不可用的实例代码
2016/06/24 Javascript
Angular 理解module和injector,即依赖注入
2016/09/07 Javascript
详细介绍解决vue和jsp结合的方法
2020/02/06 Javascript
js实现树形数据转成扁平数据的方法示例
2020/02/27 Javascript
[02:40]DOTA2英雄基础教程 先知
2013/11/29 DOTA
python微信跳一跳系列之色块轮廓定位棋盘
2018/02/26 Python
pyqt5 禁止窗口最大化和禁止窗口拉伸的方法
2019/06/18 Python
解决django同步数据库的时候app models表没有成功创建的问题
2019/08/09 Python
解决json中ensure_ascii=False的问题
2020/04/03 Python
python3 使用openpyxl将mysql数据写入xlsx的操作
2020/05/15 Python
Windows 下更改 jupyterlab 默认启动位置的教程详解
2020/05/18 Python
如何在pycharm中安装第三方包
2020/10/27 Python
五种Python转义表示法
2020/11/27 Python
python openpyxl模块的使用详解
2021/02/25 Python
CSS3近阶段篇之酷炫的3D旋转透视
2016/04/28 HTML / CSS
css3 transform 3d 使用css3创建动态3d立方体(html5实践)
2013/01/06 HTML / CSS
HTML5各种头部meta标签的功能(推荐)
2017/03/13 HTML / CSS
YSL Beauty加拿大官方商城:圣罗兰美妆加拿大
2017/05/15 全球购物
英语专业毕业生自荐信
2013/10/28 职场文书
校园奶茶店创业计划书
2014/01/23 职场文书
计算机大学生职业生涯规划书范文
2014/02/19 职场文书
学生党员检讨书范文
2014/12/27 职场文书
起诉意见书范文
2015/05/19 职场文书
2015年留守儿童工作总结
2015/05/22 职场文书
SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例
2021/07/07 SQL Server
铁头也玩根德 YachtBoy YB-230......
2022/04/05 无线电