zoukankan      html  css  js  c++  java
  • 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())

    然后:

    永远年轻,永远热泪盈眶,永远怀抱希望,永远相信美好的事情即将发生。
  • 相关阅读:
    Linq调试实时输出信息扩展方法(摘抄)
    RSA签名和验证数据
    Vue+abp微信扫码登录
    vue学习笔记4
    icon共享网站 可以获得wpf里用的Geometry
    wpf 父控件和子控件 各自触发鼠标按下事件
    C# Timespan Tostring 时分秒格式
    新公司第二天
    C# 反转单向链表
    经纬度转数字经纬度时,如果是负数
  • 原文地址:https://www.cnblogs.com/zxkwdw/p/12375477.html
Copyright © 2011-2022 走看看