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程序设计入门(5)类的使用简介
Jun 16 Python
python处理二进制数据的方法
Jun 03 Python
python字符串对其居中显示的方法
Jul 11 Python
Python的面向对象编程方式学习笔记
Jul 12 Python
Python numpy实现数组合并实例(vstack,hstack)
Jan 09 Python
Python3用tkinter和PIL实现看图工具
Jun 21 Python
对python中GUI,Label和Button的实例详解
Jun 27 Python
深入浅析python变量加逗号,的含义
Feb 22 Python
python多进程 主进程和子进程间共享和不共享全局变量实例
Apr 25 Python
python爬虫可以爬什么
Jun 16 Python
Python Parser的用法
May 12 Python
Django中session进行权限管理的使用
Jul 09 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入门基础之php代码写法
2011/12/30 PHP
PHP获取ip对应地区和使用网络类型的方法
2015/03/11 PHP
php字符串替换函数substr_replace()用法实例
2015/03/17 PHP
[原创]smarty简单模板变量输出方法
2016/07/09 PHP
Laravel框架路由管理简单示例
2019/05/07 PHP
关于 byval 与 byref 的区别分析总结
2007/10/08 Javascript
javascript:以前写的xmlhttp池,代码
2008/05/18 Javascript
点击进行复制的JS代码实例
2013/08/23 Javascript
AngularJS入门教程之表单校验用法示例
2016/11/02 Javascript
深入理解javascript函数参数与闭包
2016/12/12 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(二)
2017/01/21 Javascript
vue配置nprogress实现页面顶部进度条
2019/09/21 Javascript
微信小程序日历插件代码实例
2019/12/04 Javascript
《javascript设计模式》学习笔记一:Javascript面向对象程序设计对象成员的定义分析
2020/04/07 Javascript
Linux下Python获取IP地址的代码
2014/11/30 Python
python简单分割文件的方法
2015/07/30 Python
通过Python爬虫代理IP快速增加博客阅读量
2016/12/14 Python
pytorch中的自定义数据处理详解
2020/01/06 Python
Pandas —— resample()重采样和asfreq()频度转换方式
2020/02/26 Python
Django 返回json数据的实现示例
2020/03/05 Python
使用scrapy ImagesPipeline爬取图片资源的示例代码
2020/09/28 Python
python更新数据库中某个字段的数据(方法详解)
2020/11/18 Python
Pytest测试框架基本使用方法详解
2020/11/25 Python
Dyson加拿大官方网站:购买戴森吸尘器,风扇,冷热器及配件
2016/10/26 全球购物
Huda Beauty官方商店:化妆和美容产品
2020/09/05 全球购物
自荐信格式的六要素
2013/09/21 职场文书
应届生煤化工求职信
2013/10/21 职场文书
办公室主任岗位职责
2013/11/08 职场文书
五十岁生日宴会答谢词
2014/01/15 职场文书
2014年公务员思想汇报范文:全心全意为人民服务
2014/03/06 职场文书
餐饮食品安全责任书
2015/01/29 职场文书
车辆挂靠协议书
2016/03/23 职场文书
Navicat for MySQL的使用教程详解
2021/05/27 MySQL
Python实现生成bmp图像的方法
2021/06/13 Python
css3中transform属性实现的4种功能
2021/08/07 HTML / CSS
Pyhton爬虫知识之正则表达式详解
2022/04/01 Python