電子書籍の厳選無料作品が豊富!

先ほどmecabのインストールに成功して、今度はmecab-pythonをインストールしようとしたら、失敗したようです。
参考にしたサイトは以下です


http://tatsuyaoiw.hatenablog.com/entry/20120414/ …


●mecabのインストール直後
root@debian:/usr/local# mecab
参考までに、私がインストールした手順を下に書きます。
参考名詞,サ変接続,*,*,*,*,参考,サンコウ,サンコー
まで助詞,副助詞,*,*,*,*,まで,マデ,マデ
に助詞,格助詞,一般,*,*,*,に,ニ,ニ
、記号,読点,*,*,*,*,、,、,、
私名詞,代名詞,一般,*,*,*,私,ワタシ,ワタシ
が助詞,格助詞,一般,*,*,*,が,ガ,ガ
インストール名詞,一般,*,*,*,*,インストール,インストール,インストール
し動詞,自立,*,*,サ変・スル,連用形,する,シ,シ
た助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
手順名詞,一般,*,*,*,*,手順,テジュン,テジュン
を助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
下名詞,一般,*,*,*,*,下,シタ,シタ
に助詞,格助詞,一般,*,*,*,に,ニ,ニ
書き動詞,自立,*,*,五段・カ行イ音便,連用形,書く,カキ,カキ
ます助動詞,*,*,*,特殊・マス,基本形,ます,マス,マス
。記号,句点,*,*,*,*,。,。,。
EOS
^Z

●ここからmecab-pythonインストール開始
root@debian:/usr/local# wget *ttp://mecab.googlecode.com/files/mecab-python-0.993.tar.gz
--2015-01-08 06:05:07-- *ttp://mecab.googlecode.com/files/mecab-python-0.993.tar.gz
mecab.googlecode.com (mecab.googlecode.com) をDNSに問いあわせています... 173.194.72.82
mecab.googlecode.com (mecab.googlecode.com)|173.194.72.82|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 63267 (62K) [application/x-gzip]
`mecab-python-0.993.tar.gz' に保存中

100%[======================================>] 63,267 147K/s 時間 0.4s

2015-01-08 06:05:09 (147 KB/s) - `mecab-python-0.993.tar.gz' へ保存完了 [63267/63267]

root@debian:/usr/local# tar zxvf mecab-python-0.993.tar.gz
mecab-python-0.993/
mecab-python-0.993/MeCab.pyc
mecab-python-0.993/LGPL
mecab-python-0.993/BSD
mecab-python-0.993/COPYING
mecab-python-0.993/setup.py
mecab-python-0.993/test.py
mecab-python-0.993/MeCab.py
mecab-python-0.993/GPL
mecab-python-0.993/bindings.html
mecab-python-0.993/README
mecab-python-0.993/MeCab_wrap.cxx
mecab-python-0.993/AUTHORS
root@debian:/usr/local# cd mecab-python-0.993
root@debian:/usr/local/mecab-python-0.993# python setup.py build
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
copying MeCab.py -> build/lib.linux-x86_64-2.7
running build_ext
building '_MeCab' extension
creating build/temp.linux-x86_64-2.7
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/local/include -I/usr/include/python2.7 -c MeCab_wrap.cxx -o build/temp.linux-x86_64-2.7/MeCab_wrap.o
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++ [enabled by default]
g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro build/temp.linux-x86_64-2.7/MeCab_wrap.o -L/usr/local/lib -lmecab -lstdc++ -o build/lib.linux-x86_64-2.7/_MeCab.so
root@debian:/usr/local/mecab-python-0.993# sudo python setup.py install
running install
running build
running build_py
running build_ext
running install_lib
copying build/lib.linux-x86_64-2.7/_MeCab.so -> /usr/local/lib/python2.7/dist-packages
copying build/lib.linux-x86_64-2.7/MeCab.py -> /usr/local/lib/python2.7/dist-packages
byte-compiling /usr/local/lib/python2.7/dist-packages/MeCab.py to MeCab.pyc
running install_egg_info
Writing /usr/local/lib/python2.7/dist-packages/mecab_python-0.996.egg-info

●ここからmecab-python試験
root@debian:/usr/local/mecab-python-0.993# python
Python 2.7.3 (default, Jan 2 2013, 13:56:14)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MeCab
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "MeCab.py", line 25, in <module>
_MeCab = swig_import_helper()
File "MeCab.py", line 17, in swig_import_helper
import _MeCab
ImportError: libmecab.so.2: cannot open shared object file: No such file or directory
>>> import sys
>>> import MeCab
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "MeCab.py", line 25, in <module>
_MeCab = swig_import_helper()
File "MeCab.py", line 17, in swig_import_helper
import _MeCab
ImportError: libmecab.so.2: cannot open shared object file: No such file or directory


このOSにはipythonというものがあり、いわゆるインテリセンスがコンソールから使えるのですが、"MeCab"を補完しません。
どうすれば良いのでしょうか


Linux未熟者は手を出さないほうが良かったかも

A 回答 (2件)

> python mecabは、対処方法は無いでしょうか。



それなら
$ export LD_LIBRARY_PATH=/usr/local/lib
を実行してから python を起動するか、あるいは
http://kshimo69.hatenablog.com/entry/20110412/13 …
にあるように、/etc/ld.so.confというファイルを書き換えてldconfigを実行してください。

その程度の問題や軽い失敗は、私も数えきれないほど経験してきました。いちいち気に病んでいたら、身につけられる技術も身につきません。厳しいことを言うようですが、あまり言い訳を並べないほうがご自身のためにはよいでしょう。
    • good
    • 0
この回答へのお礼

返答ありがとうございます


別件が発生してしまいました。
この件は、勝手ながら一旦保留いたします。

...やはり、Linuxは難しいです。

今後もおねがいします

お礼日時:2015/01/14 15:10

乗りかかった舟なので。



mecab-pythonの前に、mecabの動作確認はしましたか?

MeCabのサイトに、インストール方法の説明の次に「使い方:とりあえず解析してみる」があります。
http://mecab.googlecode.com/svn/trunk/mecab/doc/ …

上の説明通りに試してみると、同じく「libmecab.so.2: cannot open shared object file」、あるいは似たようなエラーになるのではないでしょうか。


もし上の予想通りなら、/usr/localの下にソフトウェアをインストールするための操作が足りていません。一つは、私の手順に書いたようにconfigureの前にLDFLAGS="-Wl,-rpath,/usr/local/lib"を付けてmecabの手順をやり直してください。
(対処方法は何通りかあり、このあたりは好みによります)


あと気になったことが2点ほど。

mecab-python-0.996.tar.gz(とmecab-0.996.tar.gz)はインストールできなかったのですか。古いmecab-python-0.993.tar.gzをインストールされているようですね。お使いのLinuxも古いようなので、新しいバージョンがコンパイルできないのなら仕方ありませんが。

それから/usr/localの下で作業してはいけません。ユーザのホームディレクトリの下で作業してください。何を参考にされたのか分かりませんが、/usr/localへの書き込みが許可されないからといって、suでroot(プロンプトが#)になって、全ての作業を管理者権限で行なってしまっていますね。
それはかなり乱暴です。インストールすべきファイルも、そうでないファイルも、全てシステムに書きこんでしまっています。

参考にされた「mecab-pythonのインストール方法」でも、一般ユーザ(プロンプトが$)で作業して、インストール(python setup.py install)のときだけsudoを使い、管理者権限で実行しています。

suを使うなら、make installや、python setup.py installのときだけ、rootの権限でコマンドを実行し、終わったらすぐexitで一般ユーザに戻りましょう。
    • good
    • 0
この回答へのお礼

返答ありがとうございます


最初に記しておくと、私はLinux初心者(いや、それ以下)です。


>mecab-pythonの前に、mecabの動作確認はしましたか?
動作確認を行いました。エラーは発生しません。

>あと気になったことが2点ほど。
>
>mecab-python-0.996.tar.gz(とmecab-0.996.tar.gz)
>はインストールできなかったのですか。古いmecab-
>python-0.993.tar.gzをインストールされているようで
>すね。お使いのLinuxも古いようなので、新しいバージ
>ョンがコンパイルできないのなら仕方ありませんが。
提示内容の通りにしたつもりでした。最新版かどうかの確認はしていません。

>それから/usr/localの下で作業してはいけません。ユー
>ザのホームディレクトリの下で作業してください。何を
>参考にされたのか分かりませんが、/usr/localへの書き
>込みが許可されないからといって、suでroot(プロンプ
>トが#)になって、全ての作業を管理者権限で行なって
>しまっていますね。
>それはかなり乱暴です。インストールすべきファイルも、
>そうでないファイルも、全てシステムに書きこんでしま
>っています。
提示内容に、何処にインストールするかの明記が無いようでした。私が読み解くと/usr/localだと思いました。
ご指摘の通り、通常のコマンドラインプロンプトでは作業できなかったので、苦労してルートユーザーになる手段を探して、やっと当該作業を完了しました。


ルートユーザーでOSに変更を加える危険性は知識としては知っていますが、
・自分ではパソコンの時刻も変更できない(二時間以上遅れたままの状態)
・自分ではキーリピートの速度も変更できない(今も速過ぎでカーソルを見失うほど)
程度の力量故に、そうしてしまいました。

Mecabについては後の祭りです。python mecabは、対処方法は無いでしょうか。

お礼日時:2015/01/09 16:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!