Apple によるロケール周りの変更点を Python 2.5.1 にも適用する

Python: Mac OS X での locale.getpreferredencoding() では、Mac OS X に Python 2.5.1 をソースコードからインストールした場合に発生する、ロケール周りの問題点について書いた。

Python: Mac OS X での locale.getpreferredencoding()

(追記)この記事に載せているパッチよりも Apple によるロケール周りの変更点を Python 2.5.1 にも適用するのパッチを使った方がよさそうです。Mac OS X 標準の Python との互換性があります。

TracInstall に従って、Mac OS X で Trac を動かそうとしている。以前試したときは頓挫したのだが、今回は Python を含むすべてのライブラリを一からインストールして、じっくりやってみることにした。

とりあえず、tracd を起動するところまでは問題なくいったのだけれど、URL にアクセスしてみると早速こんなエラーが。

Traceback (most recent call last):
  File "/path/to/trac/lib/python2.5/site-packages/trac/web/main.py", line 406, in dispatch_request
    dispatcher.dispatch(req)
  File "/path/to/trac/lib/python2.5/site-packages/trac/web/main.py", line 207, in dispatch
    populate_hdf(req.hdf, self.env, req)
  File "/path/to/trac/lib/python2.5/site-packages/trac/web/main.py", line 77, in populate_hdf
    'time': format_datetime(),
  File "/path/to/trac/lib/python2.5/site-packages/trac/util/datefmt.py", line 65, in format_datetime
    return unicode(text, encoding, 'replace')
LookupError: unknown encoding: X-MAC-JAPANESE

じっくりやってみる、と書いた矢先にくじけそうになりましたが、諦めずに原因を追ってみますね。

その前に、今回試したバージョンは、

  • Python 2.5.1
  • Trac 0.10.4

です。

Want fries with that?

Open Source Projects