centos7 python3.7 ssl_centos 解决python3.7 安装时No module named _ssl
centos安装python3.7时遇到如下问题,查阅知需要的openssl版本最低为1.0.2,但是centos 默认的为1.0.1,所以需要重新更新openssl
import _ssl # if we can't import it, let the error propagate
ImportError: No module named _ssl
1、安装依赖库:
yum install -y zlib zlib-dev openssl-devel sqlite-devel bzip2-devel libffi libffi-devel gcc gcc-c++
2、安装最新版本的openssl
注意!openssl配置是用config,而不是configure,另外openssl编译安装依赖zlib动态库,所以一定要shared zlib
自行到官网查阅最新版本~
wget http://www.openssl.org/source/openssl-1.1.1.tar.gz
tar -zxvf openssl-1.1.1.tar.gz
cd openssl-1.1.1
./config --prefix=$HOME/openssl shared zlib
make && make install
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.1.1版本的openssl!!!
tar -zxvf Python-3.7.0.tgz
./configure --prefix=$HOME/Py37 --with-openssl=$HOME/openssl
make && make install
echo $HOME
5、至此python3.7就安装完了,来检验下ssl模块能否被导入吧:
[root@izbp12am8wqrn7t6wzgmydz Python-3.7.0]# echo $HOME
/root
[root@izbp12am8wqrn7t6wzgmydz Python-3.7.0]# cd /root/Py37/
[root@izbp12am8wqrn7t6wzgmydz 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
>>>
6.更新python软链接
你要知道系统现在的python的位置在哪儿
[root@izbp12am8wqrn7t6wzgmydz bin]# whereis python
python: /usr/bin/python /usr/bin/python2.7 /usr/bin/python.bak /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 /usr/local/python /usr/share/man/man1/python.1.gz
[root@root ~]# cd /usr/bin/
[root@root bin]# ll python*
lrwxrwxrwx. 1 root root 7 2月 7 09:30 python -> python2
lrwxrwxrwx. 1 root root 9 2月 7 09:30 python2 -> python2.7
-rwxr-xr-x. 1 root root 7136 8月 4 2017 python2.7
可以看到,python指向的是python2,python2指向的是python2.7,因此我们可以装个python3,然后将python指向python3,然后python2指向python2.7,那么两个版本的python就能共存了。
7.添加软链接
将原来的链接备份
mv /usr/bin/python /usr/bin/python.bak
添加python3的软链接
ln -s /root/Py37/bin/python3.7 /usr/bin/python
测试是否安装成功了
python -V
centos7 python3.7 ssl_centos 解决python3.7 安装时No module named _ssl相关推荐
- [Dynamic Language] Python3.7 源码安装 ModuleNotFoundError: No module named '_ctypes' 解决记录...
Python3.7 源码安装 ModuleNotFoundError: No module named '_ctypes' 解决记录 源码安装时报错 File "/home/abeenser ...
- 完美解决:Python3.10报错 No module named ‘_ssl‘
报错详情: 操作系统为centos7,python版本为3.10.7,openssl版本为3.0.5,运行gunicorn报No module named '_ssl' ModuleNotFoundE ...
- python3虚拟环境中解决 ModuleNotFoundError: No module named '_ssl'
前提是已经安装了openssl 问题 当我在python3虚拟环境中导入ssl模块时报错,报错如下: (py3) [root@localhost Python-3.6.3]# python3 Pyth ...
- Python3.x:pip install pymssql安装时出错
Python3.x:pip install pymssql安装时出错 一.错误日志 error: Microsoft Visual C++ 14.0 is required. Get it with ...
- 解决PD17虚拟机安装时出现 “操作失败 执行该操作失败”的方法
Parallels Desktop 17无限试用版在安装win11过程中可能会提示"操作失败 执行该操作失败",英文版本中会提示"Operation FAIled. FA ...
- 关于linux python3.7版本 No module named ‘_ssl‘报错
直接说解决方法: 在python源码包make之前,先在Modules文件夹下对Setup.dist进行修改.其他帖子说的对Setup文件修改需要先进行./configure才会有Setup这个文件. ...
- 解决chrome插件安装时出现的“程序包无效”问题信息:程序包无效。
今天想去chrome应用商店加载一个插件,发现有错误信息:程序包无效.详细信息:"Cannot load extensionwith file or directory name _. Fi ...
- python中的ssl模块不能用_解决Python找不到ssl模块问题 No module named _ssl的方法
python安装完毕后,提示找不到ssl模块: [www@pythontab.com ~]$ python Python 2.7.15 (default, Oct 23 2018, 18:08:43) ...
- python 找不到socket_swift 和 python解决Python找不到ssl模块问题 No module named _ssl
python安装完毕后,提示找不到ssl模块:[www@pythontab.com ~]$ python Python 2.7.15 (default, Oct 23 2018, 18:08:43) ...
最新文章
- Windows性能调优: Perfomn.exe 和Perfmon /res
- bread是可数还是不可数_小学英语语法名词 不可数名词详解
- 05-xpath爬虫数据解析
- php经典实例使用正则动态修改配置文件
- iOS15实现音乐播放器
- SOAP协议初级指南(9)
- MySQL乱码问题如何排查
- 为什么腾讯云要自研云原生数据库 CynosDB?
- 架构-LAMP特级学习(网站加速解决方案)
- python异步编程 图书_Python学习之异步编程asyncio
- J-Flash使用方法
- 也许你看了一本假的天龙八部
- HTML css把图片变圆,HTML+CSS:圆形和圆角图片格式
- Unity打包exe生成的文件夹合并成单独的exe
- guzzle php,windows系统下安装使用guzzle
- 冷冰:Android核心分析系列
- Node.js Websocket 井字棋游戏
- 英雄联盟手游有EDG那么牛吗?——基于评论的文本分析证据
- 爬虫(一):爬虫的基础知识 ---通用爬虫和聚焦爬虫,http和https协议,常见的响应状态码
- 在同一网段和不同网段通信的区别
热门文章
- Java高级语法笔记-文件读写
- MySQL入门之访问控制与安全
- mysql 最短路经_poj 3613 Cow Relays 经L边的最短路 | 学步园
- 鸿蒙微内核游戏,华为鸿蒙微内核
- 有mysql文件怎么运行不了_MySQL安装常见问题(找不到文件,系统服务无法启动...)...
- java常用类需要记吗_java 常用类
- linux文件系统 环形结构图,环形缓冲器(转)
- python中的threading_Python中Threading用法详解
- (计算机组成原理)第七章输入和输出系统-第二节2:外部设备之外存储器(磁盘的基本结构,磁盘阵列)
- 1-8:学习shell之高级键盘技巧