我遇到了一个看起来已经解决但却不起作用的樱桃问题.我只能绑定localhost或127.0.0.1.Windows XP Home和Mac OS X(linux未经测试),cherrypy 3.1.2,python 2.5.4.这是我的应用程序的结束:
global_conf = {
'global': { 'server.environment= "production"'
'engine.autoreload_on : True'
'engine.autoreload_frequency = 5 '
'server.socket_host': '0.0.0.0',
'server.socket_port': 8080}
}
cherrypy.config.update(global_conf)
cherrypy.tree.mount(home, '/', config = application_conf)
cherrypy.engine.start()
Run Code Online (Sandbox Code Playgroud)
呵呵,你的dict做错了什么:
>>> global_conf = {
... 'global': { 'server.environment= "production"'
... 'engine.autoreload_on : True'
... 'engine.autoreload_frequency = 5 '
... 'server.socket_host': '0.0.0.0',
... 'server.socket_port': 8080}
... }
>>> print global_conf
{'global':
{'server.environment= "production"engine.autoreload_on : Trueengine.autoreload_frequency = 5 server.socket_host': '0.0.0.0',
'server.socket_port': 8080}
}
Run Code Online (Sandbox Code Playgroud)
更具体地说,你的dict definiton中缺少逗号和冒号.每个键/值对必须有一个冒号,并用逗号分隔.像这样的东西可能会起作用:
global_conf = {
'global': { 'server.environment': 'production',
'engine.autoreload_on': True,
'engine.autoreload_frequency': 5,
'server.socket_host': '0.0.0.0',
'server.socket_port': 8080,
}
}
Run Code Online (Sandbox Code Playgroud)
查看python 词典文档以获取更多信息.