16
20

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MeCabを「Windows10;Python3.5(64bit)」に入れる

Last updated at Posted at 2017-05-07

色々な事情が重なって、Windows環境にMeCabを入れるニーズがあった。
なんとか出来たが、ちょっとググればわかるようにWindows以外のOSが推奨される。
複数の参考記事の組み合わせ+αで解決できたので、作業ログを残しておく。

#実行環境

  • Windows 10
  • python3.5
  • Visual Studio 2015 Update3

#mecab-0.996.exeをダウンロード&インストール

#mecab-0.996.tar.gzの改変作業

##Makefile.msvc.inの改変

  • Makefile.msvc.inをコピー⇒Makefile.msvcに名前を変える
  • 5行目を
LDFLAGS = /nologo /OPT:REF /OPT:ICF /LTCG /NXCOMPAT /DYNAMICBASE /MACHINE:X64 ADVAPI32.LIB
  • 7-8行目を
-DDLL_EXPORT -DHAVE_GETENV -DHAVE_WINDOWS_H -DDIC_VERSION=102 \
-DVERSION="\"0.996\"" -DPACKAGE="\"mecab\"" \

##feature_index.cppの改変

  • 356行目
case 't':  os_ << (unsigned int)path->rnode->char_type; break;

##writer.cppの改変

  • 260行目
case 'L': *os << (unsigned int)lattice->size(); break;

##改変したもののコンパイル

  • VS2015 Native Tools コマンドプロンプト を起動
  • \mecab-0.996\src ディレクトリに移動
make.bat
  • \mecab-0.996\src内の全ての〇〇.exeとlibmecab.dllを C:\Program Files (x86)\MeCab\bin に上書き
  • \mecab-0.996\src内のすべての〇〇.libを C:\Program Files (x86)\MeCab\sdk に上書き
  • C:\Program Files (x86)\MeCab\bin をPATHに追加

#Pythonモジュールに関する作業

##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 = cmd1("mecab-config --version"),
	py_modules=["MeCab"],
	ext_modules = [
		Extension("_MeCab",
			["MeCab_wrap.cxx",],
			include_dirs=cmd2("mecab-config --inc-dir"),
			library_dirs=cmd2("mecab-config --libs-only-L"),
			libraries=cmd2("mecab-config --libs-only-l"))
			])

##mecab.hに追記

  • mecab.h は C:\Program Files (x86)\MeCab\sdk にある
/**
 * 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;

##コンパイル

  • Anaconda Promptを起動
  • C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC に移動
vcvarsall.bat
  • コマンドプロンプトにて mecab-python-0.996ディレクトリに移動
python setup.py build
python setup.py install

これでようやくimport MeCab が上手くいきました。

16
20
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
20

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?