RuntimeError: instance.__dict__ not accessible in restricted mode
表題のエラー「RuntimeError: instance.__dict__ not accessible in restricted mode」という感じで Tracがエラーを出す時は、TracのLocation配下に以下の設定が必要だと、ぐぐると出てくる。
PythonInterpreter main_interpreter
しかし、この設定は Tracを複数同じApache上に立てる時には不十分で、Location毎に main_interpreter の部分は重複が無いように設定しないといけません。
ここが同じだとPythonインタープリターが、他の関係ないTracと共有されてしまって動作がおかしくなります。
ざっくりサンプルを載せておくと
<Location /trac/proj1> SetHandler mod_python PythonInterpreter proj1 .... </Loction> <Location /trac/proj2> SetHandler mod_python PythonInterpreter proj2 .... </Loction>
のようになります。
Python Subversionのバインディングが悪いらしいので、wsgiでTracを動かしても同じような状態になりそうな気がする。
- 追記
これ直らんわ