tornado是一个python web框架和异步网络库,最初在friendfeed开发。

tornado-bedframe的Python项目详细描述


Tornado是一个python web框架,并且 异步网络库,最初在FriendFeed开发。使用无阻塞网络I/O,Tornado 可以扩展到数万个开放连接,非常适合 long pollingWebSockets和其他 需要与每个用户建立长期连接的应用程序。

升级说明

从Tornado 3.2开始,backports.ssl_match_hostname包 必须在Python2上运行Tornado时安装。这将是 使用pipeasy_install时自动安装。

你好,世界

下面是一个简单的“Hello,World”Tornado Web应用程序示例:

import tornado.ioloop
import tornado.web

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Hello, world")

application = tornado.web.Application([
    (r"/", MainHandler),
])

if __name__ == "__main__":
    application.listen(8888)
    tornado.ioloop.IOLoop.instance().start()

本例不使用Tornado的任何异步特性;对于 看到这个simple chat room

安装

自动安装

pip install tornado

龙卷风列在PyPI和 可以使用pipeasy_install安装。请注意 源代码分发包括不存在的演示应用程序 当Tornado以这种方式安装时,您可能希望下载 源tarball的副本。

手动安装:从PyPI下载最新的源代码。

tar xvzf tornado-$VERSION.tar.gz
cd tornado-$VERSION
python setup.py build
sudo python setup.py install

龙卷风的源代码是hosted on GitHub

先决条件:Tornado在Python2.6、2.7、3.2和3.3上运行。打开 python 2,backports.ssl_match_hostname包 必须安装(使用时将自动安装 pipeasy_install);在python 3上没有严格的 标准库之外的依赖项。一些龙卷风特征可能 需要下列可选库之一:

  • unittest2需要运行 Tornado在Python2.6上的测试套件(在最近的 python的版本)
  • concurrent.futures是 推荐用于Tornado的线程池,并允许使用 tornado.netutil.ThreadedResolver。它只在python 2上需要; python 3在标准库中包含了这个包。
  • pycurl被可选的 tornado.curl_httpclient。需要libcurl 7.18.2或更高版本; 建议使用7.21.1或更高版本。
  • Twisted可以与中的类一起使用 tornado.platform.twisted
  • pycares是另一种选择 当线程不在时可以使用的非阻塞DNS解析程序 适当的。
  • Monotime添加对 提高环境可靠性的单调时钟 时钟调整频繁的地方。在Python3.3中不再需要。

平台:tornado应该在任何类unix的平台上运行,尽管 为了获得最佳的性能和可伸缩性,只有linux(使用epoll) 和bsd(带kqueue)推荐用于生产部署 (即使mac os x是从bsd派生的,并且支持kqueue,它的 网络性能通常很差,因此建议仅用于 开发利用)。龙卷风也会在窗户上蔓延,尽管 配置不受官方支持,建议仅用于 开发利用。

讨论和支持

你可以在the Tornado developer mailing list上讨论龙卷风,并在 那是GitHub issue tracker。链接到其他 资源可以在Tornado wiki上找到。

龙卷风是Facebook’s open source technologies之一。它在 这是Apache License, Version 2.0

此网站和所有文档都是根据Creative Commons 3.0授权的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
并行处理java。util。同时发生的叉子在游泳池里。常见的并行性准则,用于选择正确的并行度大小   java如何将空白字符追加到指定长度?   安卓应用程序中出现错误,SSLHandshakeException,找不到证书路径的信任锚点   java如何使用JUnit Mockito验证检查方法是否未被调用   java如何使用不同的@RequestMapping解析多个控制器中的静态页面   Selenium中的javascript需要验证搜索结果   访问数据库SQLiteopenHelper方法时java应用程序崩溃(nullpointerexception)   在二叉树中验证最小堆时出现java空指针异常   Java 7的SSL连接失败   java用RestEasyWebTarget替换ProxyFactory不起作用   在Java应用程序中单击“否”按钮后,数组程序冻结(无响应)   数组中的前缀Java初学者前进和   Java HTML解析器,包括脚本标记和LineNumberReader   在java中为长类型数字加前导零   正则表达式无法映射正则表达式java。lang.IllegalArgumentException:模式段中捕获组的数量