質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

956閲覧

PythonにMeCabをバインドしたが動かない

okuya

総合スコア19

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2017/07/18 10:10

編集2017/07/18 10:32

python setup.py build を実行したら、それまで正常に動作していたmecab.exeが動作を停止するようになりました。
何度見直しても、実施した手順に誤りはないと思います。
どのようにすれば正常に動作するようになるかご教示頂けないでしょうか。
よろしくお願いします。

●環境

・Windows Edition:Windows 7 Professional Service Pack 1
・pythonバージョン:Python 3.6.0 :: Anaconda 4.3.0 (64-bit)
・pythonがビルドされた環境:14.0

●実施した手順

(1)Windows 7/64bit に mecab-0.996をインストール。
インストールパスは、C:\MeCab。

(2)MeCab動作確認 ・・・OK。

(3)Visual C++ Builder インストール

(4)Visual Studio Community 2015 インストール後、Python機能拡張を
インストール。

(5)http://qiita.com/tobesan/items/6b6f3a025fdd177ef52a を参考に、
以下のMeCabソースをWindows 7 64bit用に修正。
Makefile.msvc.in、feature_index.cpp、writer.cpp、mecab.h、
common.h

(6)mecab-0.996/srcに移動し、コマンドプロンプトの管理者権限でmakeを実施。

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

> nmake -f Makefile.msvc.in

(7)MeCabの動作確認 ・・・OK。

(8)mecab-0.996/src内でmakeした以下のファイルをC:\MeCab\bin にコピー。
libmecab.dll、mecab-cost-train.exe、mecab-dict-gen.exe、
mecab-dict-index.exe、mecab-system-eval.exe、
mecab-test-gen.exe 、mecab.exe

(9)mecab-0.996/src内でmakeした以下のファイルをC:\MeCab\sdk にコピー。
mecab.h、libmecab.lib

(10) mecab-python-0.996\setup.pyを編集

python

11 #!/usr/bin/env python 22 33 from distutils.core import setup,Extension,os 44 #import string 55 66 #def cmd1(str): 77 # return os.popen(str).readlines()[0][:-1] 88 99 #def cmd2(str): 1010 # return string.split (cmd1(str)) 1111 1212 setup(name = "mecab-python", 1313 version = "0.996", 1414 py_modules=["MeCab"], 1515 ext_modules = [ 1616 Extension("_MeCab", 1717 ["MeCab_wrap.cxx",], 1818 include_dirs=[r"C:\MeCab\sdk"], 1919 library_dirs=[r"C:\MeCab\sdk"], 2020 libraries=["libmecab"]) 2121 ])

(11) mecab-python-0.996をビルド。管理者権限で以下を実施。

python setup.py build

(12)C:\mecab-python-0.996\buildが更新されていることを確認。

(13)MeCab動作確認 ・・・「 mecab.exe は動作を停止しました」

--- 無駄と思いつつも、念のため以下も実施 ---
(14)mecab-python-0.996インストール
> python setup.py install

(15)PythonからMeCabの動作確認・・・「 Python は動作を停止しました」
> python
>>> import MeCab
>>> m=MeCab.Tagger("-Owakati")
>>> text ="すもももももももものうち"
>>> m.parse(text)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

can110

2017/07/18 10:23

環境変数MECABRCを新たに作り、C:\Mecab\etc\mecabrcを設定していますか?
okuya

2017/07/18 10:38 編集

can110さん いつもお世話になります。 path にC:\MeCab\bin が追加されていることを確認しています。 MECABRC にC:\MeCab\etc\mecabrc が設定されていることを確認しています。
can110

2017/07/18 10:37

そうですか。了解です。たしか環境変数MECABRCがないとビルドしたmecab.exeだと異常終了していた記憶があったので。。
okuya

2017/07/18 13:22 編集

前回can110さんのご教示によりbuild、installが成功して、一度は正常に動いてましたが、インストールしていない辞書のパスを指定してmc.Taggerを呼び出しRuntimeErrorを発生させてしまってから、デフォルトの辞書にパスが通らなくなってしまいました。そのため、●実施した手順の(1)からやり直したら、今回の現象が発生しました。
okuya

2017/07/18 21:48 編集

mecab.exe停止時のダイアログボックスの「問題の詳細表示」は以下のとおりでした。 問題イベント名: APPCRASH アプリケーション名: mecab.exe アプリケーションのバージョン: 0.0.0.0 アプリケーションのタイムスタンプ: 596d54b3 障害モジュールの名前: libmecab.dll 障害モジュールのバージョン: 0.0.0.0 障害モジュールのタイムスタンプ: 596d54b3 例外コード: c0000005 例外オフセット: 0000000000028030 OS バージョン: 6.1.7601.2.1.0.256.48 ロケール ID: 1041 追加情報 1: 473e 追加情報 2: 473e86634ef0ac8be31d9b59eaa837f1 追加情報 3: aafb 追加情報 4: aafb97fc62c39e4d23c65e2bdd2ff374
okuya

2017/08/17 06:02

関連するアプリケーション、パッケージをアンインストール、関連するディレクトリを削除して、最初からひとつづつ手順を確認しながら、関連アプリケーションをインストールし直したら正常に動作するようになりました(2017.7.30)。定かではないですが、再buildする際にC:\mecab-python-0.996\buildを削除していなかったことが原因と思われます。
can110

2017/08/17 06:59

動作してよかったです。原因と解決策を自己回答として解決済みにしていただけると、後に検索する場合に答えを見つけやすくなります。
okuya

2017/08/17 09:15

ご助言、ありがとうございます。
guest

回答1

0

自己解決

関連するアプリケーション、パッケージをアンインストール、関連するディレクトリを削除して、最初からひとつづつ手順を確認しながら、関連アプリケーションをインストールし直したら正常に動作するようになりました(2017.7.30)。
原因は定かではないですが、再buildする際、C:\mecab-python-0.996\buildを削除しないと、\build配下にあるファイルは > python setup.py build 時に上書きコピーされないみたです。

投稿2017/08/17 09:15

okuya

総合スコア19

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問