python3虚拟环境中解决 ModuleNotFoundError: No module named '_ssl'
前提是已经安装了openssl
问题
当我在python3虚拟环境中导入ssl模块时报错,报错如下:
(py3) [root@localhost Python-3.6.3]# python3
Python 3.6.3 (default, Nov 19 2018, 14:18:18)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/python3/lib/python3.6/ssl.py", line 101, in <module>
import _ssl # if we can't import it, let the error propagate
ModuleNotFoundError: No module named '_ssl'
解决办法如下:
1.首先进入Python-3.6.3目录,就是你解压后安装python3.6的目录文件。
2. cd 到 Modules 目录里,找到Setup和Setup.dist文件,将下面几行注释去掉。
Setup下更改
vim Setup (大概在51%的位置)

Setup.dist下的更改
vim Setup.dist (大概在50%的位置)

3.编译安装
cd ..
./configure --prefix=/usr/local/python3
make
make install
4.删除旧的软连接,创建新的软连接(很重要)
rm -rf /usr/bin/python3
ln -s /usr/local/bin/python3.6 /usr/bin/python3
5、删除之前的虚拟环境,重新创建一个新的虚拟环境,导入ssl包就ok了
# 删除之前建议先将之前的安装的包导出
# 进入虚拟环境
source py3/bin/activate
# 备份文件
pip freeze > requirements.txt
# 退出虚拟环境
deactivate
# 删除虚拟环境
rm -rf py3
# 创建新的虚拟环境
virtualenv py3 -p /usr/bin/python3
# 进入到新的虚拟环境中
source py3/bin/activate
# 导入ssl包
(py3) [root@localhost /]# python
Python 3.6.3 (default, Nov 21 2018, 22:23:54)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
>>>
# 恢复之前的python环境
pip install -r requirements.txt
若用到uwsgi,且需要import ssl,则需要把之前uwsgi卸载,重新编译安装
pip3 uninstall uwsgi
sudo pip3 install uwsgi -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
# 删除原来的软链接,设置新的软链接
sudo ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
python3虚拟环境中解决 ModuleNotFoundError: No module named '_ssl'的更多相关文章
- centos7中python3.6报错ModuleNotFoundError: No module named '_ssl' 或者 Max retries exceeded with url: / (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.",))
如果在运行爬虫时报此错:requests.exceptions.SSLError: HTTPSConnectionPool(host='www.baidu.com', port=443): Max r ...
- python3.6 错误: ModuleNotFoundError:No module named "Crypto"
原因及处理:在使用python是经常会用到import一个第三方库,但是有时候会提示某个模块不存在,如Crypto其实是因为Python3里面这个模块的名字变了, pip install pycryp ...
- Python3 安装pip 提示ModuleNotFoundError: No module named 'distutils.util'
环境ubutun14,python版本是python3.6. 今天在安装Pip 时出现ModuleNotFoundError: No module named 'distutils.util'.操作步 ...
- Python3报错:ModuleNotFoundError: No module named '_bz2'
系统信息 系统:CentOS Linux release 7.6.1810 (Core) python版本:python3.7 报错信息 from _bz2 import BZ2Compresso ...
- python - 解决 ModuleNotFoundError: No module named 'pip'
1.pip的版本为 9.0.3 想用 pip install -U pip 更新下包,但是在更新过程中出现了报错,如下所示: 2.然后尝试用pip install pandas包,提示 Module ...
- pip崩了, 解决 ModuleNotFoundError: No module named 'pip'.
今天 在windows下用pip 安装数据库模块pymysql 把pip 弄崩了,直接出现下面的错误.都是红字, 再输入pip install pymysql ,会报错ModuleNotFound ...
- 解决ModuleNotFoundError: No module named 'pip'问题
Python学习遇到小问题:ModuleNotFoundError: No module named 'pip' 今天想要装一下第三方库exifread的时候发现cmd窗口下无法执行pip命令,想了想 ...
- Python3 解决 ModuleNotFoundError: No module named 'pygal.i18n' 问题
在获取国别码集通过导入模块pygal报以下问题: from pygal.i18n import COUNTRIES 解决方法: 安装模块 pip3 install pygal_maps_world ...
- Python解决ModuleNotFoundError: No module named 'Queue'的问题
我们知道Python2和Python3两个版本之间,有些不兼容的地方,Python3中引入Queue会报出这个问题. Python3中要这样引入: import queue Python2中要这样引入 ...
随机推荐
- 20140115-SqlHelper为什么是静态的
为什么SqlHelper(或工具类)是静态的? 静态构造函数仅调用一次(即只是在程序生命周期中实例一次),在程序驻留的应用程序域的生存期内,静态类一直保留在内存中 这样可以减少每次使用的实例过程,就是 ...
- 最新 centos7下zabbix 监控redis状态
准备 先准备两台服务器,已经部署好了zabbix-sever和zabbix-agent zabbix-server 192.168.1.70 centos7.2 zabbix-agent 192.16 ...
- 小白学python-day03-系统位数、变量、用户输入、if else
今天是day03,以下是学习总结. 但行努力,莫问前程. ----------------------------------------------------------------------- ...
- 下载Opencv和OpencvSharp,让我们开始图像之旅
我们学习和使用OpencvSharp,还下载Opencv干什么?很简单,研究人家的源码是最好和最快速的学习方式. 第一Opencv源码下载,网络上很多,请大家自行搜索,版本请下载4.1.0.当前你要用 ...
- java读写文件小心缓存数组
一般我们读写文件的时候都是这么写的,看着没问题哈. public static void main(String[] args) throws Exception { FileInputStr ...
- Centos7 安装Homestead环境
问题1, ==> homestead-7: Waiting for machine to boot. This may take a few minutes... homestead-7: SS ...
- 细说RESTFul API之版本管理
目录 接口实现版本管理的意义 如何实现接口的版本管理 项目实战 接口实现版本管理的意义 API版本管理的重要性不言而喻,对于API的设计者和使用者而言,版本管理都有着非常重要的意义. 首先,对于API ...
- Reporting报表开发知识合并[个人原创]
[个人原创] ,转发请声明原文链接 了解 a) SSRS全称 SQL Server Reporting Services,是依赖于数据库运行的,是微软开发的重量级别的BI产品 b) ...
- vuex快速入门
vuex是什么? vuex是一个专门为vue.js应用程序开发的状态管理模式. vuex默认的五种基本的对象: state:存储状态(可以理解为变量)可以从计算属性中返回某个状态 getters:通常 ...
- webapck小知识点1
全局安装webpack webpack-cli npm install webapck webpack-cli -g 卸载全局安装的webpack webpack-cli npm unistall w ...