tornado 报错 NotImplementedError
今天跑之前的一个tornado ,突然就报错了NotImplementedError,之前还还好好的。
原来是Python版本更新到3.8出的问题。
大概是Python3.8的asyncio改变了循环方式,因为这种方式在windows上不支持相应的add_reader APIs,就会抛出NotImplementedError错误。
于是乎加了一句:
import sys
import asyncioif sys.platform == 'win32':asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
这样就不报错了。
完整代码如下:
from abc import ABCimport tornado.ioloop
import tornado.web
import time
import sys
import asyncioif sys.platform == 'win32':asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())class ListHandler(tornado.web.RequestHandler, ABC):def get(self):self.write("Get Handler ListHandler")def post(self):headers = self.request.headersbody = self.request.bodyprint(headers)b2 = str(body, encoding='UTF-8')print(b2)time.sleep(0.5)self.write("Post Handler ListHandler")class HeartHandler(tornado.web.RequestHandler, ABC):def get(self):#print(self.get_argument("name"), self.get_argument("code"))r = {"success": True,"Message": "添加成功!","code": 200,"result": None}self.write(r)def post(self):headers = self.request.headersbody = self.request.bodyprint(headers)b2 = str(body, encoding='UTF-8')print(b2)self.write("Test Post Handler")class Application(tornado.web.Application):def __init__(self):handlers = [(r'/quality/business/supplier/list', ListHandler),(r'/quality/business/supplier/heart', HeartHandler),]tornado.web.Application.__init__(self, handlers)if __name__ == "__main__":app = Application()app.listen(8000)print("Tornado Started in port 8000,http://127.0.0.1:8000")tornado.ioloop.IOLoop.current().start()
tornado 报错 NotImplementedError相关推荐
- Python3.8安装 jupyter报错 NotImplementedError
报错如下: 原因: 是由于 python3.8 asyncio 在 windows 上默认使用 ProactorEventLoop 造成的,而不是之前的 SelectorEventLoop.jupyt ...
- NotImplementedError: Cannot convert a symbolic Tensor报错与解决
问题 实验环境 TensorFlow2.4.1(Macbook m1 with conda-forge) 报错信息 NotImplementedError: Cannot convert a symb ...
- ubuntu 下安装 matplotlib 报错 numpy tornado pyparsing freetye png 依赖没有
直接使用sudo easy_install matplotlib 报错 几个依赖关系不好找,分别是numpy tornado pyparsing freetye png sudo apt-get bu ...
- tornado创建项目后build vxworks报错unable to allocate heap, heap_chunk_size 587202560, Win32 error 0
tornado创建项目后build vxworks报错unable to allocate heap, heap_chunk_size 587202560, Win32 error 0 build报错 ...
- 自定义报错返回_Keras编写自定义层--以GroupNormalization为例
1. Group Normalization 介绍 Batch Normalization(BN)称为批量归一化,可加速网络收敛利于网络训练.但BN的误差会随着批量batch的减小而迅速增大.FAIR ...
- 安装anaconda 报错 failed to create menus
报错发现百度搜索的解决办法五花八门,实际试过几个不能有效解决问题,遂专心研究出错日志,发现报错找不到python3.X.dll,遂猜测是未安装好python3.7所致(回忆起可能是与安装的是32位而不 ...
- idea java编译报错_intellij-idea,java_idea 编译报错,intellij-idea,java - phpStudy
idea 编译报错 简单的 helloworld 竟然坑了我一天啦 /Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/bi ...
- python tk 当输入数值错误是报错_Python的异常处理
一.Python标准异常总结 所谓异常就是运行期检测到的错误.计算机语言针对可能出现的错误定义了异常类型,某种错误引发对应的异常时,异常处理程序将被启动,从而恢复程序的正常运行. Python标准异常 ...
- python语法报错_Python语法的常见错误和处理异常
在学习Python的过程中,一定会遇到很多困难,我相信很多时候的,报错就会是让人抓狂,一个好的程序员最主要的特质,就是处理错误的能力.在面对每次遇到的问题,要多总结多做笔记,争取下次避免犯同样的错误, ...
最新文章
- C++ mutable
- MySQL 的“root”用户修改密码
- 转:GridView 中如何给删除按钮添加提示
- Android开发需要了解的 IM 知识
- Angular ngcc和ivy
- fork、getpid、getppid函数
- pythonvim编辑教程_Pycharm学习教程(6) Pycharm作为Vim编辑器使用
- c# bool?和bool_C#中的bool关键字
- SQLSERVER压缩数据文件的用处有多大
- PHP目前比较常见的五大运行模式
- C++合并两个有序数组成一个有序数组时间复杂度最小的解法
- 通过yum安装redis
- 爱情公寓不为人知的创作历程
- 【Unity】新手初学Animation实现人物移动
- 洛谷刷题C语言:Bold、饱食、公平の意、DOM、
- asp.net房屋出租系统。 采用的典型的三层架构和mvc相结合的技术
- 全球安全资讯精选 2017年 第七期: Equifax 泄漏 1.43 亿用户数据
- 山东科技大学OJ题库 1097 	判断三角形的性质
- 简单实现直播手绘礼物
- angular的run方法
热门文章
- 代码坏味道之过大的类
- NFT资产分析bitsCrunch获360万美元融资 Coinbase, Crypto.com等知名机构参投
- 如何在mac电脑上免费使用GitKraken
- java ac自动机_Java实现AC自动机全文检索示例
- 一文搞懂什么是粒子群优化算法(Particle Swarm Optimization,PSO)【附应用举例】
- 基于JAVA的新闻文章发布管理系统,可以用来参考学习【数据库设计、源码、开题报告】
- 51汇编:LED点阵与键盘按键------2019年寒假休息在家看书
- android 仿手机助手下载进度条效果
- 使用vue-grid-layout完成桌面拖拽布局功能(实现两个元素互换位置)
- Linux ❉ 权限位rwx