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行:啟動服務器。