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下自己编写web框架的一些要点
Apr 29 Python
Python 文件管理实例详解
Nov 10 Python
Python 安装setuptools和pip工具操作方法(必看)
May 22 Python
Windows平台Python连接sqlite3数据库的方法分析
Jul 12 Python
python random从集合中随机选择元素的方法
Jan 23 Python
python操作日志的封装方法(两种方法)
May 23 Python
python elasticsearch从创建索引到写入数据的全过程
Aug 04 Python
多版本python的pip 升级后, pip2 pip3 与python版本失配解决方法
Sep 11 Python
浅谈python累加求和+奇偶数求和_break_continue
Feb 25 Python
python录音并调用百度语音识别接口的示例
Dec 01 Python
django如何自定义manage.py管理命令
Apr 27 Python
python绘制云雨图raincloud plot
Aug 05 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
Content-type 的说明
2006/10/09 PHP
同一空间绑定多个域名而实现访问不同页面的PHP代码
2006/12/06 PHP
由php if 想到的些问题
2008/03/22 PHP
php用header函数实现301跳转代码实例
2013/11/25 PHP
JSQL 批量图片切换的实现代码
2010/05/05 Javascript
JavaScript基于setTimeout实现计数的方法
2015/05/08 Javascript
jquery实现很酷的网页顶部图标下拉菜单效果
2015/08/22 Javascript
js中的面向对象入门
2017/03/06 Javascript
angular ng-click防止重复提交实例
2017/06/16 Javascript
Vue中封装input组件的实例详解
2017/10/17 Javascript
vue项目打包部署到服务器的方法示例
2018/08/27 Javascript
AngularJS 事件发布机制
2018/08/28 Javascript
实例讲解vue源码架构
2019/01/24 Javascript
angular多语言配置详解
2019/05/16 Javascript
vue中使用v-model完成组件间的通信
2019/08/22 Javascript
OpenLayers实现图层切换控件
2020/09/25 Javascript
[02:51]DOTA2 2015国际邀请赛中国区预选赛第一日战报
2015/05/27 DOTA
[01:19:35]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第二局
2016/03/05 DOTA
Python Pandas 获取列匹配特定值的行的索引问题
2019/07/01 Python
使用pth文件添加Python环境变量方式
2020/05/26 Python
html5使用canvas画一条线
2014/12/15 HTML / CSS
马来西亚综合购物网站:Lazada马来西亚
2018/06/05 全球购物
什么是事务?事务有哪些性质?
2012/03/11 面试题
什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?
2016/08/13 面试题
Linux管理员面试题 Linux admin interview questions
2014/11/01 面试题
函授本科毕业生自我鉴定
2013/10/16 职场文书
计算机应用专业学生的自我评价分享
2013/11/03 职场文书
中专毕业生个人职业生涯规划
2014/02/19 职场文书
办公室副主任职责范本
2014/03/08 职场文书
个人承诺书
2014/03/26 职场文书
教师年度考核评语
2014/04/28 职场文书
奥巴马当选演讲稿
2014/09/10 职场文书
常务副县长“四风”个人对照检查材料思想汇报
2014/10/02 职场文书
合伙购房协议样本
2014/10/06 职场文书
解放思想大讨论活动总结
2015/05/09 职场文书
Python requests库参数提交的注意事项总结
2021/03/29 Python