使用CherryPy Tools会话时出错

时间:2012-06-14 11:13:10

标签: python eclipse cherrypy

我有一个使用CherryPy库的python项目。我从Eclipse运行项目。在一台虚拟机上,代码运行正常,但在另一台虚拟机上,完全相同的代码在行中给出了错误:

cherrypy.tools.sessions.on = True

错误本身是:

File "/usr/local/lib/python2.6/dist-packages/cherrypy/_cptools.py", line 68, in _set_on
    raise AttributeError(_attr_error)
AttributeError: CherryPy Tools cannot be turned on directly. Instead, turn them on via config, or use them as decorators on your page handlers.
*** glibc detected *** /usr/bin/python2.6: munmap_chunk(): invalid pointer: 0x0000000002aacee9 ***

然后是一个回溯。由于代码在另一台机器上运行没有错误,我认为这是一些配置问题,但我无法找到它。

编辑我不知道它是否与我的问题有关,但我注意到代码运行正常的机器上的CherryPy版本是3.1.2,在我得到错误的机器上它是3.2.2

编辑2 我不是一个python程序员,我被迫(根据情况)继承了离开公司的服务器人员的代码。很抱歉,如果我的问题非常(非常)基本。这些设置存在于代码和配置文件中,这样就可以在3.1.2版本中正常工作。我只是想确保在使用3.2.2版本时从代码中删除导致错误的行是安全的。

1 个答案:

答案 0 :(得分:2)

错误消息告诉您您的代码行无效。根据您要打开会话的上下文,将其移至config.update:

cherrypy.config.update({"tools.sessions.on": True})

...或配置文件:

[/path]
tools.sessions.on = True

...或_cp_config属性:

class Root:
    _cp_config = {"tools.sessions.on": True}

有关配置声明的更多信息,请参阅http://docs.cherrypy.org/dev/refman/_cpconfig.html#declaration