2011-09-21 68 views
5

我在Windows 7(64位)上使用Python 2.5。在龍捲風web服務器上運行hello world的問題(Python 2.5,Win 7)

我安裝了pycurl-7.15.5.1(win win二進制文件)和龍捲風(使用pip)。

當我運行下面的hello world代碼:

import tornado.ioloop 
import tornado.web 

class MainHandler(tornado.web.RequestHandler): 
    def get(self): 
     self.write("Hello World!") 

if __name__=='__main__': 
    app = tornado.web.Application([(r"/",MainHandler),]) 
    application.listen(8888) 
    tornado.ioloop.IOLoop.instance().start() 

我得到以下錯誤: -

Traceback (most recent call last): 

    File "hello_tornado.py", line 11, in <module> 
    application.listen(8888) 
    File "c:\Python25\Lib\site-packages\tornado\web.py", line 1193, in listen 
    server.listen(port, address) 
    File "c:\Python25\Lib\site-packages\tornado\netutil.py", line 100, in listen 
    sockets = bind_sockets(port, address=address) 
    File "c:\Python25\Lib\site-packages\tornado\netutil.py", line 263, in bind_sockets 
    sock.setsockopt(socket.IPPROTO_IPV6, socket.IPV6_V6ONLY, 1) 
    AttributeError: 'module' object has no attribute 'IPV6_V6ONLY' 
+0

它不應該是'app.listen(8888)',而不是'應用。聽(8888)'?應用程序沒有在任何地方實例化。 – Shule

回答

4

Tornado顯然在Windows上有一些IPv6混淆。您可以通過specifiyig你想讓它偵聽這樣的IP解決它:

application.listen(8888,'127.0.0.1') 

也許

application.listen(8888,'0.0.0.0') 
0

從龍捲風網頁(http://www.tornadoweb.org/)平臺:Tornado應該在任何類Unix平臺上運行,儘管爲了獲得最佳性能和可擴展性,建議只使用Linux和BSD(包括Mac OS X等BSD衍生產品)。

我認爲這是與Windows不兼容

事情龍捲風類似的可與扭曲的框架http://twistedmatrix.com在Windows下工作實現

有趣的指針是

http://twistedmatrix.com/documents/current/web/howto/web-in-60/index.html

http://twistedmatrix.com/documents/current/web/howto/web-in-60/dynamic-content.html

+0

爲什麼要投票? –

+0

它與Windows兼容。它在我的win7上運行正常。 – akaRem

+0

@akaRem你採取了什麼特別的步驟來讓它在Windows 7上工作,還是可以直接使用?你遵循什麼安裝過程? – jonnie