最終更新:
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
>>>
コメントをかく