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实现可以断点续传和并发的ftp程序
Sep 13 Python
django1.8使用表单上传文件的实现方法
Nov 04 Python
浅述python中argsort()函数的实例用法
Mar 30 Python
详解python中的 is 操作符
Dec 26 Python
flask中使用蓝图将路由分开写在不同文件实例解析
Jan 19 Python
Django项目中model的数据处理以及页面交互方法
May 30 Python
Python合并多个Excel数据的方法
Jul 16 Python
PIL对上传到Django的图片进行处理并保存的实例
Aug 07 Python
python内存管理机制原理详解
Aug 12 Python
Python学习笔记之Break和Continue用法分析
Aug 14 Python
python2和python3实现在图片上加汉字的方法
Aug 22 Python
python 解决flask uwsgi 获取不到全局变量的问题
Dec 22 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
Protoss热键控制
2020/03/14 星际争霸
php的header和asp中的redirect比较
2006/10/09 PHP
php中iconv函数使用方法
2008/05/24 PHP
PHP实现数组递归转义的方法
2014/08/28 PHP
浅谈使用PHP开发微信支付的流程
2015/10/04 PHP
PHP树-不需要递归的实现方法
2016/06/21 PHP
PHP中抽象类,接口功能、定义方法示例
2019/02/26 PHP
PHP+redis实现微博的推模型案例分析
2019/07/10 PHP
Extjs学习笔记之六 面版
2010/01/08 Javascript
jQuery实现漂亮实用的商品图片tips提示框效果(无图片箭头+阴影)
2016/04/16 Javascript
JS获取字符串实际长度(包含汉字)的简单方法
2016/08/11 Javascript
JavaScript通过mouseover()实现图片变大效果的示例
2017/12/20 Javascript
jQuery属性选择器用法实例分析
2019/06/28 jQuery
Vue 样式切换及三元判断样式关联操作
2020/08/09 Javascript
原生JavaScript实现换肤
2021/02/19 Javascript
python按照多个字符对字符串进行分割的方法
2015/03/17 Python
Python使用自带的ConfigParser模块读写ini配置文件
2016/06/26 Python
tensorflow 1.0用CNN进行图像分类
2018/04/15 Python
Selenium控制浏览器常见操作示例
2018/08/13 Python
详解Python 解压缩文件
2019/04/09 Python
Python3 itchat实现微信定时发送群消息的实例代码
2019/07/12 Python
深入了解Python在HDA中的应用
2019/09/05 Python
基于Python 中函数的 收集参数 机制
2019/12/21 Python
python解析多层json操作示例
2019/12/30 Python
python图形开发GUI库pyqt5的详细使用方法及各控件的属性与方法
2020/02/14 Python
Python json格式化打印实现过程解析
2020/07/21 Python
Python结合Window计划任务监测邮件的示例代码
2020/08/05 Python
基于python实现简单C/S模式代码实例
2020/09/14 Python
K近邻法(KNN)相关知识总结以及如何用python实现
2021/01/28 Python
Gucci法国官方网站:意大利奢侈品牌
2018/07/25 全球购物
如何选择使用结构还是类
2014/05/30 面试题
系统管理员的职责包括那些?管理的对象是什么?
2013/01/18 面试题
英语三分钟演讲稿
2014/08/19 职场文书
大学军训口号大全
2015/12/24 职场文书
PHP获取学生成绩的方法
2021/11/17 PHP
「天才王子的赤字国家重生术」妮妮姆·拉雷粘土人开订
2022/03/21 日漫