Tornado安装

进入:https://pypi.org  搜tornado

 

 

 

 

 进入tornado这个文件夹

 执行:python setup.py install

  

  Tornado应该运行在类Unix平台,在线上部署时为了最佳的性能和扩展性,仅推荐Linux和BSD(因为充分利用Linux的epol工具和BSD的kqueue工具,是Tormado不依靠多进程/多线程而达到高性能的原因)

  对于MacOSx,虽然也是衍生自BSD并且支持kqueue,但是其网络性能通常不太给力,因此仅推荐用于开发

  对于Windows,Tornado官方没有提供配置支持,但是也可以运行起来,不过仅推荐在开发中使用,windows上开发容易出现器官的错误,下文我将提到一种典型错误并给出解决方法

  安装好tornado后启动pycharm运行一个“helloword”测试

import tornado.web          # web服务基本功能都封装在此模块中
import tornado.ioloop       # 开启循环,让服务一直等待请求的到来

class IndexHandler(tornado.web.RequestHandler):
    def get(self,*args,**kwargs):
        self.write("Hello, bilibili")

if __name__ == "__main__":
    app = tornado.web.Application([(r"/",IndexHandler)])
    app.listen(8000)
    tornado.ioloop.IOLoop.current().start()

如果报错,内容大概如下:

参考来源:https://www.yht7.com/news/12601

是由于 python3.8 asyncio 在 windows 上默认使用 ProactorEventLoop 造成的,而不是之前的 SelectorEventLoop。jupyter 依赖 tornado,而 tornado 在 window 上需要使用 SelectorEventLoop,所以产生这个报错.

请看官方文档:https://www.tornadoweb.org/en/stable/index.html#installation

解决方法是,在 tornado开始执行前添加以下代码,在windows下单独处理:

# windows 系统下 tornado 使用 使用 SelectorEventLoop
import platform

if platform.system() == "Windows":
    import asyncio
    asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())

然后:

永远年轻,永远热泪盈眶,永远怀抱希望,永远相信美好的事情即将发生。
原文地址:https://www.cnblogs.com/zxkwdw/p/12375477.html