2011-09-21 109 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