tornado是一个python web框架和异步网络库,最初在friendfeed开发。
tornado-bedframe的Python项目详细描述
Tornado是一个python web框架,并且 异步网络库,最初在FriendFeed开发。使用无阻塞网络I/O,Tornado 可以扩展到数万个开放连接,非常适合 long polling, WebSockets和其他 需要与每个用户建立长期连接的应用程序。
升级说明
从Tornado 3.2开始,backports.ssl_match_hostname包 必须在Python2上运行Tornado时安装。这将是 使用pip或easy_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和 可以使用pip或easy_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包 必须安装(使用时将自动安装 pip或easy_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授权的。