2016年11月
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      

最近のコメント

最近のトラックバック

無料ブログはココログ

トップページ

2015年3月

2015年3月 8日 (日)

Windows 64bit で、mecab-python

Windows 64bitで、mecab-python

準備するもの

Python 2.7.10

Python 本体です。

インストール先:C:\Python27

環境変数 Pathに、以下を追加します。

  C:\Python27\;C:\Python27\Scripts;

Microsoft Visual Studio Community 2015

Mecab 本体のビルドに使います。

インストール先:C:\Program Files (x86)\Microsoft Visual Studio 14.0

インストール時カスタムを選択し、機能の選択で以下を追加します。

  プログラミング言語

    Visual C++

    Python Tools for Visual Studio

「Unable to find vcvarsall.bat」の対処として環境変数を追加します。

  変数:VS90COMNTOOLS

  値:%VS140COMNTOOLS%

7zip

Mecab本体 Source の展開に使います。

インストール先:C:\Program Files\7-Zip

Mecab本体 Binary package for MS-Windows

Mecab Source には、辞書が入っていません。Mecab本体 Binaryに含まれる辞書を使うため、インストールします。

インストール先:C:\Mecab

pythonからmecabを動作させるため、環境変数の追加設定をします。

環境変数 Pathに、以下を追加します。

  C:\Mecab\bin

mecabrcファイルの格納先を環境変数に設定します。

  変数:MECABRC

  値:C:\MeCab\etc\mecabrc

MeCab 本体 Source パッチ

mecab-0.996.tar.gz を展開し、srcにパッチをあてます。

1.mecab-0.996\src\Makefile.msvc.in 6行目
   変更前:LDFLAGS = /nologo /OPT:REF /OPT:ICF /LTCG /NXCOMPAT /DYNAMICBASE /MACHINE:X86 ADVAPI32.LIB
   変更後:LDFLAGS = /nologo /OPT:REF /OPT:ICF /LTCG /NXCOMPAT /DYNAMICBASE /MACHINE:X64 ADVAPI32.LIB

2.mecab-0.996\src\Makefile.msvc.in 8行目
   変更前:         -DDLL_EXPORT -DHAVE_GETENV -DHAVE_WINDOWS_H-DDIC_VERSION=@DIC_VERSION \
   変更後:         -DDLL_EXPORT -DHAVE_GETENV -DHAVE_WINDOWS_H -DDIC_VERSION=102 \

3.mecab-0.996\src\Makefile.msvc.in 9行目
   変更前:         -DVERSION="\"@VERSION@\"" -DPACKAGE="\"mecab\"" \
   変更後:         -DVERSION="\"0.996\"" -DPACKAGE="\"mecab\"" \

4.mecab-0.996\src\Makefile.msvc.in 11行目
   変更前:        -DMECAB_DEFAULT_RC="\"c:\\Program Files\\mecab\\etc\\mecabrc\""
   変更後:        -DMECAB_DEFAULT_RC="\"c:\\mecab\\etc\\mecabrc\""

5.mecab-0.996\ src\feature_index.cpp 356行目
   変更前:            case 't':  os_ << (size_t)path->rnode->char_type;     break;
   変更後:            case 't':  os_ << (unsigned int)path->rnode->char_type;     break;

6.mecab-0.996\ src\writer.cpp 260行目
   変更前:            case 'L': *os << lattice->size(); break;
   変更後:            case 'L': *os << (unsigned int)lattice->size(); break;

MeCab 本体 Source ビルド

ビルドします。mecab-0.996\srcフォルダで以下を実行します。

call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64

nmake -f Makefile.msvc.in

MeCab 本体 をコピー

mecab-0.996\src内の以下ファイルをC:\Mecab\binフォルダに上書きコピーします。
 libmecab.dll
 mecab.exe
 mecab-cost-train.exe
 mecab-dict-gen.exe
 mecab-dict-index.exe
 mecab-system-eval.exe
 mecab-test-gen.exe

mecab-0.996\src内の以下ファイルをC:\Mecab\sdkフォルダに上書きコピーします。
  mecab.h
  libmecab.lib

Mecab pythonバインディング パッチ

mecab-python-0.996.tar.gzを展開し、mecab-python-0.996\setup.pyを以下のように変更します。

#!/usr/bin/env python

from distutils.core import setup,Extension,os

setup(name = "mecab-python",
version = "0.996",
py_modules=["MeCab"],
ext_modules = [
  Extension("_MeCab",
   ["MeCab_wrap.cxx",],
   include_dirs=[r"C:\MeCab\sdk"],
   library_dirs=[r"C:\MeCab\sdk"],
   libraries=["libmecab"])
   ])

Mecab pythonバインディング のセットアップ動作確認

ビルド、インストール、動作確認をします。mecab-python-0.996フォルダで以下を実行します。

python setup.py build

python setup.py install

python test.py

参考 :

https://github.com/buruzaemon/natto/wiki/64-Bit-Windows

http://blog.yujigraffiti.com/2013/12/mecab-python-0999windows-64bit.html

http://seesaawiki.jp/spz/d/Windows%A4%CBmecab-python%A4%F2%C6%B3%C6%FE

トップページ