Tornado 是一个Python web框架和异步网络库,起初由 FriendFeed 开发. 通过使用非阻塞网络I/O, Tornado可以支撑上万级的连接,处理 长连接, WebSockets ,和其他需要与每个用户保持长久连接的应用.
相关链接
Hello, world
这是一个简单的Tornado的web应用:
import tornado.ioloop import tornado.web class MainHandler(tornado.web.RequestHandler): def get(self): self.write("Hello, world") def make_app(): return tornado.web.Application([ (r"/", MainHandler), ]) if __name__ == "__main__": app = make_app() app.listen(8888) tornado.ioloop.IOLoop.current().start()
这个例子没有使用Tornado的任何异步特性;了解详情请看 simple chat room.
安装
自动安装:
pip install tornado
Tornado在 PyPI 列表中,可以使用 pip
或 easy_install
安装. 注意源码发布中包含的示例应用可能不会出现在这种方式安装的代码中,所以你也可能希望通过下载一份源码包的拷贝来进行安装.
手动安装: 下载当前4.3版本:
tar xvzf tornado-4.3.tar.gz cd tornado-4.3 python setup.py build sudo python setup.py install
Tornado的源码托管在 hosted on GitHub.
Prerequisites: Tornado 4.3 运行在Python 2.6, 2.7, 和 3.2+ (对Python 2.6 和 3.2的支持是不推荐的并将在下个版本中移除). 对Python 2的2.7.9或更新版 强烈 推荐提高对SSL支持. 另外Tornado的依赖包可能通过 pip
or setup.py install
被自动安装, 下面这些可选包可能是有用的:
- unittest2 是用来在Python 2.6上运行Tornado的测试用例的(更高版本的Python是不需要的)
-
concurrent.futures 是推荐配合Tornado使用的线程池并且可以支持
tornado.netutil.ThreadedResolver
的用法. 它只在Python 2中被需要,Python 3已经包括了这个标准库. -
pycurl 是在
tornado.curl_httpclient
中可选使用的.需要Libcurl 7.19.3.1 或更高版本;推荐使用7.21.1或更高版本. - Twisted 会在