Pythonを学ぶ: (1) 導入と日本語化

梅谷 武
作成:2003-05-06 更新:2005-04-20
Pythonの導入と日本語化の手順を記す。
20030506001; NDC:007.64; keywords:Python;
目  次
1. 開発環境
2. Python 2.2.2 SJIS対応パッチ(Win32用)
3. バイナリ版の導入方法
4. ソース版の導入方法
参考文献
1. 開発環境
 使用した開発環境を以下に記します。
2. Python 2.2.2 SJIS対応パッチ(Win32用)
 PyJUG(日本Pythonユーザ会)で公開されているPython 2.2 SJIS対応パッチ(Win32用):python-2.2-sjis-20020228.zipをPython-2.2.2用に追加改造したものです。
 Python-2.2.2に対応させた他に、識別子(Identifier)としてSJIS文字を許容するようにしました。これによりPython言語の識別子としてSJIS文字列が使用可能となると思われます。今のところ変数名・関数名に日本語を使って特に問題はでていません。ただし、これによる副作用がどこかで出てくるかもしれませんのでご注意ください。
注:Tkinterで日本語を使用するときにはSJISをUNICODEへ変換することが必要になります。

 Python 2.2.2 SJIS対応パッチ(Win32用)Python-2.2.2-SJIS.lzh2003-05-07

3. バイナリ版の導入方法
Step. 1: 本家のバイナリ版を導入する。
 本家のバイナリ版Python-2.2.2.exeをダウンロードし、例えばc:\usr\local\Python-2.2.2へ導入してください。
Step. 2: SJIS対応python22.dllを原版と置き換える。
 上のパッチに添付されているpython22.dllc:\WINDOWS\system32もしくはc:\WINDOWS\systemへ複写されたpython22.dllへ上書きします。
Step. 3: 動作確認する。
 例えば、次のようにします:
C:\usr\local\Python-2.2.2>python
Python 2.2.2(SJIS enhanced) (#37, Apr 23 2003, 10:01:51) [MSC 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> 日本語リスト = ['日本語', '表示']
>>> print 日本語リスト
['日本語', '表示']
>>> print 日本語リスト[0]
日本語
>>> print 日本語リスト[1]
表示
>>>
4. ソース版の導入方法
Step. 1: 本家のソース版を導入する。
 本家のソース版Python-2.2.2.tgzをダウンロードし、例えばc:\usr\local\Python-2.2.2へ解凍してください。c:\usr\local\Python-2.2.2\PCbuild\readme.txtに説明してあるようにこれだけでは作成することができません。次の4つのファイルをダウンロードして導入してください。ディレクトリ名と相対位置には注意してください。
  1. c:\usr\local\bsddb ← db.1.85.win32.zip
  2. c:\usr\local\Expat ← expat_win32bin_1_95_6.exe
  3. c:\usr\local\zlib-1.1.4 ← zlib-1.1.4.tar.gz
  4. c:\usr\local\Tcl ← ActiveTcl8.3.5.0-2-win32-ix86.exe(8.4.2だとコンパイルエラーがでる)
Step. 2: 原版をコンパイル・リンクして動作確認する。
 コンソールからVC++を使用できるようにvcvars32.batを実行しておきます。この状態でc:\usr\local\bsddb\port\win32に入って、
C:\usr\local\bsddb\port\win32>nmake -f makefile_nt.msc
としてbsddbを作成しておきます。次にVC++のプロジェクトファイル:c:\usr\local\Python-2.2.2\PCbuild\pcbuild.dswにおいてpyexpatプロジェクトに含まれるファイル:expat.libを削除して、c:\usr\local\Expat\libs\libexpat.libを追加してください。これをしておかないとリンクエラーになります。このような準備の後、バッチビルドしてください。エラー無しで作成できるはずですが、もしエラーが出たらエラーメッセージからその原因を把握して対処してください。うまくいきましたら、c:\usr\local\Python-2.2.2\PCbuild\python.exeを実行して動作確認してください。
Step. 3: SJIS対応パッチを当てる。
 c:\usr\localPython-2.2.2-SJIS.patchを複写し、
C:\usr\local>patch < Python-2.2.2-SJIS.patch
としてパッチを当ててください。
Step. 4: SJIS対応版をコンパイル・リンクして動作確認する。
 最終的にPythonを導入するディレクトリ名をPython-2.2.2にするために、
C:\usr\local>ren Python-2.2.2 Python-2.2.2-SJIS
と名前を変え、プロジェクトファイル:c:\usr\local\Python-2.2.2\PCbuild\pcbuild.dswにおいてSJISを定義して再度バッチビルドし、できあがったら動作確認します。
C:\usr\local\Python-2.2.2-SJIS\PCbuild>python
Python 2.2.2(SJIS enhanced) (#37, Apr 23 2003, 10:01:51) [MSC 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> 日本語リスト = ['日本語', '表示']
>>> print 日本語リスト
['日本語', '表示']
>>> print 日本語リスト[0]
日本語
>>> print 日本語リスト[1]
表示
>>>
Step. 5: 本家のバイナリ版を導入する。
 本家のバイナリ版Python-2.2.2.exeをダウンロードし、c:\usr\local\Python-2.2.2へ導入してください。
Step. 6: SJIS対応python22.dllを原版と置き換える。
 c:\usr\local\Python-2.2.2-SJIS\PCbuild\python22.dllc:\WINDOWS\system32もしくはc:\WINDOWS\systemへ複写されたpython22.dllへ上書きします。
Step. 7: 各種Pythonモジュールを導入する。
 Tkinterで日本語を使用するときにSJISをUNICODEへ変換することが必要になります。そのためにはの導入は必須となります。
参考文献
Python
[A1] PyJUG(日本Pythonユーザ会), PyJUG(日本Pythonユーザ会) トップページ