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

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

新規登録して質問してみよう
ただいま回答率
85.48%
OS

OS(オペレーティングシステム)は、システムソフトウェアの一種であり、一般的に、ハードウェアを直接的に管理・操作する最も中心的な機能を有するソフトウェアがオペレーティングシステムとして呼ばれます。

Python 3.x

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

Mecab

Mecabは、オープンソースの形態素解析エンジンです。 言語、辞書、コーパスに依存しない汎用的な設計を基本方針としています。 Mecabの由来は、開発者の好物である和布蕪(めかぶ)から名づけられました。

Q&A

3回答

2983閲覧

MeCab:Windows10環境でうまく動かない

ak_miyamoto

総合スコア31

OS

OS(オペレーティングシステム)は、システムソフトウェアの一種であり、一般的に、ハードウェアを直接的に管理・操作する最も中心的な機能を有するソフトウェアがオペレーティングシステムとして呼ばれます。

Python 3.x

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

Mecab

Mecabは、オープンソースの形態素解析エンジンです。 言語、辞書、コーパスに依存しない汎用的な設計を基本方針としています。 Mecabの由来は、開発者の好物である和布蕪(めかぶ)から名づけられました。

0グッド

0クリップ

投稿2018/04/04 13:09

編集2018/04/04 13:12

環境:win10,python3.6

初学者です。このサイトに従ってWindows10でMecabをインストールしようと考えておりますが、うまくいきません。

今回の作業では、サイトの作業を一連の(最初から最後まで実行すべき)作業ととらえ、その指示に従い、

  • MeCab(ProgramFiles(x86)内)
  • mecab-0.996(モジュール、mecab-config.inあり)
  • mecab-python-0.996(モジュール、mecab-configの類なし)

の3つをインストールしたうえで、コードの書き換え・コンパイルなどを行いました。

結果、最後の

python setup.py build python setup.py install

の前まではうまくいった(ように思える)のですが、この2つのコードでエラーが出ました。
具体的には、以下のようなものです(両方とも同じエラーです)。

C:\Anaconda3\Lib\site-packages\mecab-python-0.996>python setup.py build 'mecab-config' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 Traceback (most recent call last): File "setup.py", line 13, in <module> version = cmd1("mecab-config --version"), File "setup.py", line 7, in cmd1 return os.popen(str).readlines()[0][:-1] IndexError: list index out of range

ここでの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")) ])

どこが問題なのか検討がつかないため、いかんともしがたい状況です。ご指導いただければ幸いです。

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

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

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

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

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

guest

回答3

0

提示いただいたコードにmecab-configが残っています。windowsの場合、mecab-configは存在しないので書き換える必要があり、参照されている記事にもその旨が記載されているはずです。

どうしてもダメであれば、他の記事を参考にしたほうがいいかもしれません。私も結構はまりましたが、対応策が人によって少しずつ違っているため、自分の環境でうまくいく方法に当たるまで試行錯誤しました。私が1年ほどまでにうまくいったものは以下の記事です。

https://qiita.com/tobesan/items/6b6f3a025fdd177ef52a

あるいは、以下の記事も参考になると思います。

https://qiita.com/yukinoi/items/990b6933d9f21ba0fb43

上記は、pipでmecab-pythonをinstallするパッケージを作ったというものなので、うまくいくのであれば一番簡単な方法と思います。

投稿2018/04/04 17:50

R.Shigemori

総合スコア3376

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

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

ak_miyamoto

2018/04/05 00:42

ご回答ありがとうございます。ご指摘の通り、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"]) ]) ``` ですが、MeCab.wrap.cxxの部分で以下のようなエラーが出てしまいました。mecab.hというファイルがないと言っているようです。 ``` C:\Users\mymt_akck\Anaconda3\Lib\site-packages\mecab-python-0.996>python setup.py build running build running build_py running build_ext building '_MeCab' extension C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.13.26128\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD "-IC:\Program Files\MeCab\sdk" -IC:\Users\mymt_akck\Anaconda3\include -IC:\Users\mymt_akck\Anaconda3\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.13.26128\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.13.26128\include" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\cppwinrt" /EHsc /TpMeCab_wrap.cxx /Fobuild\temp.win-amd64-3.6\Release\MeCab_wrap.obj MeCab_wrap.cxx MeCab_wrap.cxx(3052): fatal error C1083: include ファイルを開けません。'mecab.h':No such file or directory error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.13.26128\bin\HostX86\x64\cl.exe' failed with exit status 2 ``` このあとどのように対処すればよろしいでしょうか?繰り返しになりますが、お伝え下されば幸いです。
R.Shigemori

2018/04/05 09:56

正直なところ、別の方の記事に沿ってやり直したほうがいいように思います。人によってやり方が違っている上、その通りにやってもダメなケースが存在します。(おそらく、前提となる環境の違いと思っていますが、どこが違うのかわかりません) 私も4~5人くらいの人の記事を試しているうちにたまたま成功しました。 私がインストールに成功した記事は掲載済みですのでこちらを参考にしてはいかがでしょうか。
KojiDoi

2018/04/05 14:24

質問文の最初にあなたは MeCab(ProgramFiles(x86)内) と書いておられますが、追加分では、 include_dirs=[r"C:\Program Files\MeCab\sdk"], とされています。これに従ってセットアッププログラムはC:\Program Files\MeCab\sdk\mecab.hを見に行こうとしていると思います。しかしこれは質問文に示された状況と整合していません。どちらが正しいのでしょうか。 もし最初の質問文の方が正しいのなら、たぶんmecab.h は、(x86)付きのフォルダの下に存在するのではないですか?
R.Shigemori

2018/04/05 17:33

KojiDoiさん 素晴らしい指摘、ありがとうございます。 もしかすると、それがうまくいかない原因かもしれません。include_dirのパラメーターにはmecab\sdkはあるディレクトリを指定することになっていたはずです。私は勝手に32bit版(つまりバイナリーのもの)はProgramFiles(x86)にインストールしたが、64bit版(ソース修正してリビルドしたもの)はProgramFilesにインストールしたものと理解していました。
guest

0

この辺りが参考になるのではないでしょうか。

MecabをインストールしてPythonから使ってみた

「list index out of range」が目を引きますが、本当の問題は「mecab-config: not found」です。

投稿2018/04/04 13:59

KojiDoi

総合スコア13671

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

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

0

どうしてもMecabではないといけませんか?
Mecabと同じようなライブラリにjanomeがあります。

pip install janomeでインストールできます。

投稿2018/04/05 14:40

umyu

総合スコア5846

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問