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求斐波那契数列示例分享
Feb 14 Python
Python爬虫实现网页信息抓取功能示例【URL与正则模块】
May 18 Python
python如何使用正则表达式的前向、后向搜索及前向搜索否定模式详解
Nov 08 Python
python  Django中的apps.py的目的是什么
Oct 15 Python
使用python实现男神女神颜值打分系统(推荐)
Oct 31 Python
Python 静态方法和类方法实例分析
Nov 21 Python
利用Python脚本实现自动刷网课
Feb 03 Python
django下创建多个app并设置urls方法
Aug 02 Python
容易被忽略的Python内置类型
Sep 03 Python
python调用有道智云API实现文件批量翻译
Oct 10 Python
python collections模块的使用
Oct 16 Python
python链表类中获取元素实例方法
Feb 23 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
在Windows版的PHP中使用ADO
2006/10/09 PHP
给apache2.2加上mod_encoding模块後 php5.2.0 处理url出现bug
2007/04/12 PHP
php mssql 分页SQL语句优化 持续影响
2009/04/26 PHP
利用PHP+JS实现搜索自动提示(实例)
2013/06/09 PHP
thinkphp3.x连接mysql数据库的方法(具体操作步骤)
2016/05/19 PHP
Yii框架学习笔记之应用组件操作示例
2019/11/13 PHP
javascript类继承机制的原理分析
2009/09/12 Javascript
关于UTF-8的客户端用AJAX方式获取GB2312的服务器端乱码问题的解决办法
2010/11/30 Javascript
jquery特效 幻灯片效果示例代码
2013/07/16 Javascript
jquery阻止冒泡事件使用模拟事件
2013/09/06 Javascript
jquery基础教程之deferred对象使用方法
2014/01/22 Javascript
js对象转json数组的简单实现案例
2014/02/28 Javascript
jQuery.parseJSON(json)将JSON字符串转换成js对象
2014/07/27 Javascript
JavaScript将取代AppleScript?
2014/09/18 Javascript
jquery实现将获取的颜色值转换为十六进制形式的方法
2014/12/20 Javascript
js实现匹配时换色的输入提示特效代码
2015/08/17 Javascript
jQuery实现的文字hover颜色渐变效果实例
2016/02/20 Javascript
Angular ng-repeat指令实例以及扩展部分
2016/12/26 Javascript
vue+iview 实现可编辑表格的示例代码
2018/10/31 Javascript
vuex 动态注册方法 registerModule的实现
2019/07/03 Javascript
Vue在H5 项目中使用融云进行实时个人单聊通讯
2020/12/14 Vue.js
python sys模块sys.path使用方法示例
2013/12/04 Python
Python的ORM框架中SQLAlchemy库的查询操作的教程
2015/04/25 Python
Python如何快速上手? 快速掌握一门新语言的方法
2017/11/14 Python
python实现自动登录
2018/09/17 Python
解决pyinstaller打包pyqt5的问题
2019/01/08 Python
利用Django模版生成树状结构实例代码
2019/05/19 Python
完美解决torch.cuda.is_available()一直返回False的玄学方法
2021/02/06 Python
便携式太阳能系统的创新者:GOAL ZERO
2018/02/04 全球购物
Why do we need Unit test
2013/01/03 面试题
七年级地理教学反思
2014/01/26 职场文书
微信营销策划方案
2014/02/24 职场文书
网络宣传方案
2014/03/15 职场文书
课前三分钟演讲稿
2014/04/24 职场文书
先进党支部申报材料
2014/12/24 职场文书
行政主管岗位职责
2015/02/03 职场文书