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 に答える