最終更新:
suezou2121 2013年05月06日(月) 19:12:53履歴
こちらのページがとても分かりやすくまとめられているので、これをベースにまとめてみます。
MeCab公式サイトから、Windows版インストーラをダウンロードする。
http://mecab.googlecode.com/svn/trunk/mecab/doc/in...
インストールでは辞書の文字コードの選択を UTF-8 にする。
インストール後に C:\Program Files\MeCab\bin にPathを通す。
インストールできたので python test.py で動作テストしてみる。
(コマンドプロンプト上でUTF-8を表示しようとしているため文字化けしています。)
対話型だとこんな感じです。
(コマンドプロンプト上でUTF-8を表示しようとしているため文字化けしています。)
- うおっ - [Python][NLP]Windows7 32bit + Python 2.7.3 で MeCab 0.994の Pythonバインディングをインストール
公式ページからインストーラをダウンロードして、インストールする。
インストール先は C:\Python27\ にする。
インストール後に C:\Python27 にPathを通す。
インストール先は C:\Python27\ にする。
インストール後に C:\Python27 にPathを通す。
MeCab公式サイトから、Windows版インストーラをダウンロードする。
http://mecab.googlecode.com/svn/trunk/mecab/doc/in...
インストールでは辞書の文字コードの選択を UTF-8 にする。
インストール後に C:\Program Files\MeCab\bin にPathを通す。
公式のページから辿って下記ダウンロードページから mecab-python-0.996.tar.gz をダウンロードして解凍する。
https://code.google.com/p/mecab/downloads/list
https://code.google.com/p/mecab/downloads/list
setup.py をテキストエディタで開き、下記のように書き換える。
#!/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.996", py_modules=["MeCab"], ext_modules = [ Extension("_MeCab", ["MeCab_wrap.cxx",], include_dirs=[r"C:\Program Files\MeCab\sdk"], library_dirs=[r"C:\Program Files\MeCab\sdk"], libraries=["libmecab"]) ])
この時点では setup.py を実行しても下記のエラーが出る。
vcvarsall.bat を入手するために、Virtual C++ 2008 Express Edition をインストールする。
(Silverlight Runtime と SQL Server 2008 Express Edition はいらない)
インストール後に、 C:\Program Files\Microsoft Visual Studio 9.0\VC にPathを通す。
error: Unable to find vcvarsall.bat
vcvarsall.bat を入手するために、Virtual C++ 2008 Express Edition をインストールする。
(Silverlight Runtime と SQL Server 2008 Express Edition はいらない)
インストール後に、 C:\Program Files\Microsoft Visual Studio 9.0\VC にPathを通す。
この時点でも setup.py を実行してもまだ下記のエラーが出る。
アドバイス通り C:\Progam Files\MeCab\sdk\mecab.h を確認する。
テキストエディタを管理者として実行で起動して、C:\Progam Files\MeCab\sdk\mecab.h を開く。
778行目にあるLatticeクラスにset_resultを追加して保存する。
とりあえず、こうしたら動いた感じです。
MeCab_wrap.xcc(5583) : error C2039: 'set_result' : 'MeCab::Lattice' のメンバではありません。 C:\Progam Files\MeCab\sdk\mecab.h(778) : 'MeCab::Lattice' の宣言を確認してください。
アドバイス通り C:\Progam Files\MeCab\sdk\mecab.h を確認する。
テキストエディタを管理者として実行で起動して、C:\Progam Files\MeCab\sdk\mecab.h を開く。
778行目にあるLatticeクラスにset_resultを追加して保存する。
/** * Lattice class */ class MECAB_DLL_CLASS_EXTERN Lattice { public: virtual void set_result(const char *str) = 0; //この1行を追加 /** * Clear all internal lattice data. */ virtual void clear() = 0;
とりあえず、こうしたら動いた感じです。
準備ができたので、python setup.py build と python setup.py install をコマンドプロンプトで実行します。
C:\mecab-python-0.996>python setup.py build running build running build_py running build_ext building '_MeCab' extension 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(3747) : 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 を作成中 C:\mecab-python-0.996>python setup.py install running install running build running build_py running build_ext running install_lib copying build\lib.win32-2.7\MeCab.py -> C:\Python27\Lib\site-packages copying build\lib.win32-2.7\_MeCab.pyd -> C:\Python27\Lib\site-packages byte-compiling C:\Python27\Lib\site-packages\MeCab.py to MeCab.pyc running install_egg_info Writing C:\Python27\Lib\site-packages\mecab_python-0.996-py2.7.egg-info C:\mecab-python-0.996>
インストールできたので python test.py で動作テストしてみる。
(コマンドプロンプト上でUTF-8を表示しようとしているため文字化けしています。)
C:\mecab-python-0.996>python test.py 0.996 螟ェ驛・蜷崎ゥ・蝗コ譛牙錐隧・莠コ蜷・蜷・*,*,螟ェ驛・繧ソ繝ュ繧ヲ,繧ソ繝ュ繝シ 縺ッ 蜉ゥ隧・菫ょ勧隧・*,*,*,*,縺ッ,繝・繝ッ 縺薙・ 騾」菴楢ゥ・*,*,*,*,*,縺薙・,繧ウ繝・繧ウ繝・ 譛ャ 蜷崎ゥ・荳?闊ャ,*,*,*,*,譛ャ,繝帙Φ,繝帙Φ 繧・蜉ゥ隧・譬シ蜉ゥ隧・荳?闊ャ,*,*,*,繧・繝イ,繝イ 莠・蜷崎ゥ・謨ー,*,*,*,*,莠・繝・繝・ 驛・蜷崎ゥ・荳?闊ャ,*,*,*,*,驛・繝ュ繧ヲ,繝ュ繝シ 繧・蜉ゥ隧・譬シ蜉ゥ隧・荳?闊ャ,*,*,*,繧・繝イ,繝イ 隕・蜍戊ゥ・閾ェ遶・*,*,荳?谿オ,騾」逕ィ蠖「,隕九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 C:\mecab-python-0.996>
対話型だとこんな感じです。
(コマンドプロンプト上でUTF-8を表示しようとしているため文字化けしています。)
C:\Users\Syuichi\Desktop\mecab-python-0.996>python Python 2.7.4 (default, Apr 6 2013, 19:54:46) [MSC v.1500 32 bit (Intel)] on win 32 Type "help", "copyright", "credits" or "license" for more information. >>> import MeCab >>> m = MeCab.Tagger ("-Ochasen") >>> print m.parse ("今日もしないとね") 今日もし・今日もし・今日もし・險伜捷-荳?闊ャ ネ・ネ・ネ・蜷崎ゥ・蝗コ譛牙錐隧・邨・ケ・ 「・「・「・險伜捷-荳?闊ャ ニ・ニ・ニ・蜷崎ゥ・蝗コ譛牙錐隧・邨・ケ・ ヒ ヒ ヒ 險伜捷-荳?闊ャ EOS >>>
コメントをかく