Python - Tornado安装
Tornado安装,环境准备:
1、python安装包及安装
2、Tornado安装包
Python包安装
Linux下安装
如果使用的是 Linux系统 或 Mac OS X ,系统可能已经预装了 Python 。在终端命令行窗口中输入python (或是在OS X的程序/工具/终端中)。 如果你看到这样的信息,说明 python 已经安装好了.
Python 2.7.10 (#2, Mar 31 2005, 00:05:10)
[GCC 3.3 20030304 (Apple Computer, Inc. build 1666)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
Windows下安装
首先,从Python的官方网站www.python.org下载最新的2.7.9版本,地址如下:http://www.python.org/ftp/python/2.7.9/python-2.7.9.msi
然后,运行下载的MSI安装包,在选择安装组件的一步时,勾上所有的组件:
需要注意选上pip
和Add python.exe to Path
(有了这个就不用手动的配置环境变量),然后一路点“Next”即可完成安装。Python会默认安装到C:\Python27
目录下,然后打开命令提示符(cmd)窗口,输入python后,会出现两种情况:
情况一:如下图所示则表明python已经正常安装,可以使用了,键入任何python代码,回车即可执行,并得到结果。可以输入exit()
并回车,退出Python交互式环境(当然直接K掉命令行窗口更省事)。
情况二:得到一个错误:显示
这是因为Windows会根据一个Path
的环境变量设定的路径去查找python.exe
解释器
,如果没找到,就会报上图所示错误。如果在安装时漏掉了勾选Add python.exe to Path
,就需要手动把python.exe
所在的路径C:\Python27
添加到Path中。如果你不知道怎么修改环境变量,可以把Python安装程序重新安装一遍,记得勾上Add python.exe to Path
就可以了
。
Tornado安装
1.环境准备
OS: Ubuntu 13.04 64bits/CentOS
Python: 2.7.4 只是版本号,可根据需要自行安装python版本
Tornado: 3.1 只是版本号,可根据需要自行安装Tornado版本
2.下载与安装Tornado
可以在Tornado的官网上下载Tornado的压缩包(很小,只有大约400K左右),然后进行离线安装。下载地址如下,选择项如下图所示:
http://www.tornadoweb.org/en/stable/
在Linux和Windows上安装Tornado的区别不大。先进行Linux下的安装:
1、对压缩包进行解压
tar xvzf tornado-3.1.tar.gz
2、进入到解压缩的tornado文件夹
cd tornado-3.1
3、进行python扩展构建
python setup.py build
4、tornado安装(需要用超级用户安装,不然会报权限不够)
sudo python setup.py install
linux下的tornado安装完成。windows下的安装和linux下类似。
1、 对压缩包进行解压
2、 在“命令提示符”下找到解压的文件夹
3、 进行python扩展构建
python setup.py build
4、tornado安装
python setup.py install
当然也可以使用pip进行安装(当然前提是已经安装了pip):
pip install tornado
3.进行验证
Hello World
下面使用《Introduction to Tornado》第一章中的例子作为Hello World,因为它相比于官网的例子多介绍了
1.命令行参数的使用;2.get参数。
#! /usr/bin/python
# -*- coding:utf-8 -*-
import tornado.httpserver
import tornado.ioloop
import tornado.options
import tornado.web
from tornado.options import define, options
define("port", default=8000, help="run on the given port", type=int)
class IndexHandler(tornado.web.RequestHandler):
def get(self):
greeting = self.get_argument('greeting', 'Hello')
self.write(greeting + ', tornado!')
if __name__ == "__main__":
tornado.options.parse_command_line()
app = tornado.web.Application(handlers=[(r"/", IndexHandler)])
http_server = tornado.httpserver.HTTPServer(app)
http_server.listen(options.port)
tornado.ioloop.IOLoop.instance().start()
执行python hello.py
启动服务器。
在本地浏览器打开http://localhost:8000/可以看到:
Hello, tornado!
打开http://localhost:8000/?greeting=feng可以看到:
feng , tornado!
下面对代码进行简单解释:
4-7行:导入该演示用例代码中必须的tornado的四个模块。
9-10行:从tornado.options模块用于从命令行中读取配置和解析命令,这里定义一个配置选项port,即端口。default表示默认值,help表示在帮助中显示的信息,type表示该配置参数的数据类型,如果类型匹配错误会报错。
12-15行:这是一个页面请求的Handler类,继承了web的RequestHandler类。此处只有一个get方法,该方法表示Http的Get请求。RequestHandler类有一些有用的内建方法,其中get_argument
用来获取http页面请求参数,如果没有传入参数则显示为默认值(get_argument方法的第二个参数)。而另一个常用的内建方法write
,它的作用是将响应的内容写到页面中。
18行:从命令行中读取并解析配置参数。
19行:创建一个tornado应用。handlers是一个元组列表,其中每个元组的第一个元素是一个正则表达式,表示网址路由,如果其中包含捕获分组,则将匹配的内容送往RequestHandler;第二个元素是所使用的RequestHandler类用来响应操作。
20行:使用这个tornado应用创建一个http服务器。
21行:设置http服务器的监听端口,命令行有传入端口则监听传入端口,没有则监听默认端口。
22行:启动服务器。