Windows7 32bit + Python 2.7.3 で MeCab 0.994の Pythonバインディングをインストール
これまで何回かコンパイルに失敗してて、初めてうまくいったのでメモ。
追記(2013-09-08)
この記事で使われている Python と MeCab のバージョンはちょっと古いです。
新しめのバージョンでのインストールについて、記事を書いてくださっている方がいるのでこちらもどうぞ。
Windowsにmecab-pythonを導入 - 個人的まとめ
Python 2.7.3 のインストール
Download Python | Python.org から Python 2.7.3 Windows Installer をダウンロードし、インストーラを起動してインストールする。
今回は C:\Python27\ (初期設定)にインストールした。
インストール後、 C:\Python27 に PATH を通す。
環境変数の編集は Rapid Environment Editorを使うと楽。
MeCab 0.994 のインストール
http://mecab.googlecode.com/svn/trunk/mecab/doc/index.html#download から mecab-0.994.exe をダウンロードし、インストール。
「辞書の文字コード選択」は UTF-8 を選んだ方がいい。らしい。
C:\Program Files\MeCab (初期設定)にインストールした。
インストール後、 C:\Program Files\MeCab\bin に PATH を通す。
MeCab の Python バインディングをインストール
Google Code Archive - Long-term storage for Google Code Project Hosting. から mecab-python-0.994.tar.gz をダウンロードし、解凍する。
setup.py の書き換え
setup.py をテキストエディタで開き、 version, include_dirs, library_dirs, libraries の箇所を以下のように書き換える。
参考: Windows での mecab 0.993 python バインディングモジュール(32/64ビット)の作り方メモ: takayanの雑記帳
#!/usr/bin/env python from distutils.core import setup,Extension,os import string def cmd1(str): return os.popen(str).readlines()[0][:-1] def cmd2(str): return string.split (cmd1(str)) setup(name = "mecab-python", version = "0.994", py_modules=["MeCab"], ext_modules = [ Extension("_MeCab", ["MeCab_wrap.cxx",], include_dirs=["C:\Program Files\MeCab\sdk"], library_dirs=["C:\Program Files\MeCab\sdk"], libraries=["libmecab"]) ]
vcvarsall.bat の入手
この時点では setup.py を実行しても以下のエラーが出る。
error: Unable to find vcvarsall.bat
vcvarsall.bat を入手するために、 Visual C++ 2008 Express Edition をインストールする。
http://go.microsoft.com/?LinkId=9348304
インストール設定は初期設定でいい。(SQL Server は今回は必要ないかも)
インストール後、C:\Program Files\Microsoft Visual Studio 9.0\VC にPATH を通す。
バインディングのビルドとインストール
コマンドラインで python setup.py install を実行する。
C:\mecab-python-0.994>python setup.py install running install running build running build_py creating build creating build\lib.win32-2.7 copying MeCab.py -> build\lib.win32-2.7 running build_ext building '_MeCab' extension creating build\temp.win32-2.7 creating build\temp.win32-2.7\Release C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W 3 /GS- /DNDEBUG "-IC:\Program Files\MeCab\sdk" -IC:\Python27\include -IC:\Python 27\PC /TpMeCab_wrap.cxx /Fobuild\temp.win32-2.7\Release\MeCab_wrap.obj MeCab_wrap.cxx MeCab_wrap.cxx(3738) : warning C4530: C++ 例外処理を使っていますが、アンワインド セマンティクスは有効にはなりません。/EHsc を指定してください。 C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\link.exe /DLL /nologo /INCRE MENTAL:NO "/LIBPATH:C:\Program Files\MeCab\sdk" /LIBPATH:C:\Python27\libs /LIBPA TH:C:\Python27\PCbuild libmecab.lib /EXPORT:init_MeCab build\temp.win32-2.7\Rele ase\MeCab_wrap.obj /OUT:build\lib.win32-2.7\_MeCab.pyd /IMPLIB:build\temp.win32- 2.7\Release\_MeCab.lib /MANIFESTFILE:build\temp.win32-2.7\Release\_MeCab.pyd.man ifest ライブラリ build\temp.win32-2.7\Release\_MeCab.lib とオブジェクト build\temp. win32-2.7\Release\_MeCab.exp を作成中 running install_lib copying build\lib.win32-2.7\_MeCab.pyd -> C:\Python27\Lib\site-packages running install_egg_info Writing C:\Python27\Lib\site-packages\mecab_python-0.944-py2.7.egg-info C:\mecab-python-0.994>
python test.py を実行すれば、インストールできたかどうか確認できる。
(下の例はコマンドプロンプトで UTF-8 を表示しようとしてるので文字化けしているが、ちゃんと動いている)
C:\mecab-python-0.994>python test.py 0.994 螟ェ驛・蜷崎ゥ・蝗コ譛牙錐隧・莠コ蜷・蜷・*,*,螟ェ驛・繧ソ繝ュ繧ヲ,繧ソ繝ュ繝シ 縺ッ 蜉ゥ隧・菫ょ勧隧・*,*,*,*,縺ッ,繝・繝ッ 縺薙・ 騾」菴楢ゥ・*,*,*,*,*,縺薙・,繧ウ繝・繧ウ繝・ 譛ャ 蜷崎ゥ・荳€闊ャ,*,*,*,*,譛ャ,繝帙Φ,繝帙Φ 繧・蜉ゥ隧・譬シ蜉ゥ隧・荳€闊ャ,*,*,*,繧・繝イ,繝イ 莠・蜷崎ゥ・謨ー,*,*,*,*,莠・繝・繝・ 驛・蜷崎ゥ・荳€闊ャ,*,*,*,*,驛・繝ュ繧ヲ,繝ュ繝シ 繧・蜉ゥ隧・譬シ蜉ゥ隧・荳€闊ャ,*,*,*,繧・繝イ,繝イ 隕・蜍戊ゥ・閾ェ遶・*,*,荳€谿オ,騾」逕ィ蠖「,隕九k,繝・繝・ 縺・蜉ゥ蜍戊ゥ・*,*,*,迚ケ谿翫・繧ソ,蝓コ譛ャ蠖「,縺・繧ソ,繧ソ 螂ウ諤ァ 蜷崎ゥ・荳€闊ャ,*,*,*,*,螂ウ諤ァ,繧ク繝ァ繧サ繧、,繧ク繝ァ繧サ繧、 縺ォ 蜉ゥ隧・譬シ蜉ゥ隧・荳€闊ャ,*,*,*,縺ォ,繝・繝・ 貂。縺・蜍戊ゥ・閾ェ遶・*,*,莠疲ョオ繝サ繧オ陦・騾」逕ィ蠖「,貂。縺・繝ッ繧ソ繧キ,繝ッ繧ソ繧キ 縺・蜉ゥ蜍戊ゥ・*,*,*,迚ケ谿翫・繧ソ,蝓コ譛ャ蠖「,縺・繧ソ,繧ソ 縲・險伜捷,蜿・轤ケ,*,*,*,*,縲・縲・縲・ EOS BOS/EOS,*,*,*,*,*,*,*,* 螟ェ驛・ 蜷崎ゥ・蝗コ譛牙錐隧・莠コ蜷・蜷・*,*,螟ェ驛・繧ソ繝ュ繧ヲ,繧ソ繝ュ繝シ 縺ッ 蜉ゥ隧・菫ょ勧隧・*,*,*,*,縺ッ,繝・繝ッ 縺薙・ 騾」菴楢ゥ・*,*,*,*,*,縺薙・,繧ウ繝・繧ウ繝 譛ャ 蜷崎ゥ・荳€闊ャ,*,*,*,*,譛ャ,繝帙Φ,繝帙Φ 繧・ 蜉ゥ隧・譬シ蜉ゥ隧・荳€闊ャ,*,*,*,繧・繝イ,繝イ 莠・ 蜷崎ゥ・謨ー,*,*,*,*,莠・繝・繝 驛・ 蜷崎ゥ・荳€闊ャ,*,*,*,*,驛・繝ュ繧ヲ,繝ュ繝シ 繧・ 蜉ゥ隧・譬シ蜉ゥ隧・荳€闊ャ,*,*,*,繧・繝イ,繝イ 隕・ 蜍戊ゥ・閾ェ遶・*,*,荳€谿オ,騾」逕ィ蠖「,隕九k,繝・繝 縺・ 蜉ゥ蜍戊ゥ・*,*,*,迚ケ谿翫・繧ソ,蝓コ譛ャ蠖「,縺・繧ソ,繧ソ 螂ウ諤ァ 蜷崎ゥ・荳€闊ャ,*,*,*,*,螂ウ諤ァ,繧ク繝ァ繧サ繧、,繧ク繝ァ繧サ繧、 縺ォ 蜉ゥ隧・譬シ蜉ゥ隧・荳€闊ャ,*,*,*,縺ォ,繝・繝 貂。縺・ 蜍戊ゥ・閾ェ遶・*,*,莠疲ョオ繝サ繧オ陦・騾」逕ィ蠖「,貂。縺・繝ッ繧ソ繧キ,繝ッ繧ソ繧キ 縺・ 蜉ゥ蜍戊ゥ・*,*,*,迚ケ谿翫・繧ソ,蝓コ譛ャ蠖「,縺・繧ソ,繧ソ 縲・ 險伜捷,蜿・轤ケ,*,*,*,*,縲・縲・縲 BOS/EOS,*,*,*,*,*,*,*,* EOS EOS filename: C:\Program Files\MeCab\etc\..\dic\ipadic\sys.dic charset: UTF-8 size: 392126 type: 0 lsize: 1316 rsize: 1316 version: 102