wiki:TracRuntimeError

Debian Etchに更新したら、Tracが時々!RuntimeErrorを出すようになった

Debian Etch(Debian 4.0)が正式リリースされたので、これまでのSarge(3.1)をEtchに更新しました。 すると困ったことに、このページを含むTracウィキが時々「RuntimeError」例外を出すようになりました。 時々っていうのが、よけいにややこしいです。

RuntimeError: instance.__dict__ not accessible in restricted mode

 http://trac.edgewall.org/ticket/3371 によれば、「Tracのせいじゃないよ」「mod_pythonとかSubversion-Pythonバインディングのせいだ」ということです。困りました。それなら話題のmod_wsgi?にしたらイケるんじゃないかと思って試しましたが、問題は無くならないばかりか、別の問題まで発生したので、元に戻しました。別の問題というのは、ウィキを編集して「保存」するとページの後半がちぎれて無くなるっていう問題です。おいおい。

悩んだあげくに解決。

Apacheの、各サイトごとの設定ファイルに、以下の行を追加します。 設定の意味についてはこのあたりを参考にしてください。

    PythonInterpreter   main_interpreter

これだけ。 設定ファイルの主要部分は以下のような感じです。

  <Location />
    SetHandler          mod_python
    PythonInterpreter   main_interpreter
    PythonHandler       trac.web.modpython_frontend
    PythonOption        TracEnv パス
    PythonOption        TracUriRoot /
  </Location>

上記の「パス」の部分には、Trac環境のディレクトリへのパスが入ります。

(2007/4/17 sgk)