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)
