0

我有一个使用 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 版本时从代码中删除导致错误的行是安全的。

4

1 回答 1

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

于 2012-06-14T16:54:27.080 回答