作者: Bruce.
日時: 2005/7/23(11:18)
Bruce.です。

Python 2.3.5 + JapaneseCodecs1.4.10 + py2exe 0.5.4 の環境で

# coding: cp932
import codecs
f = codecs.open("utf-8.txt", "w", "utf-8")
f.write(unicode('こんにちは世界', 'cp932'))
f.close

というスクリプトをpy2exeでexeファイルに変換したのですが、生成された実行ファ
イルを実行すると

Traceback (most recent call last):
  File "codectest.py", line 4, in ?
LookupError: unknown encoding: cp932

とエラーになってしまいます。

ぐぐってみたところ、追加パッケージを使っている場合にはpy2exeで変換するときに
--packages japanese,encodings のように陽に指定してやる必要があるという情報が
得られたのですが、それをやっても状況は変りませんでした。生成されたライブラリ
のzipファイル中の一覧を見てもJapaneseCodecsのファイルはちゃんと格納されていま
した。

また、参考までにf.writeの行の'cp932'を'mbcs'にしたときは実行ファイルもきちん
と動きました。しかし、'sjis'とか'ms932'にしたときはだめでした。

どうしたらよいのでしょう?

いじょ。