Python
mecab

sudoが使えないマシンでmecabを使うまでの備忘録

More than 3 years have passed since last update.

知らない間にアドベントカレンダーに追加されて書くことがない困ってるおじさんです。。。

共同研究で企業のサーバー環境で作業しているのですが、

sudo権限もらえなくてですね...

mecab使いたいけどインストールどないすんねんってなった話です

基本的に--prefixにユーザーディレクトリを指定するだけなんですけどね…

ただの備忘録です


前提

python2..,mecab,ipadic,mecab-pythonの圧縮ファイルを~/tempにおいておきます(ディレクトリ名は何でも良いです)


pythonのインストール

tar xvf Python-2.*.*.tgz

cd Python2.*.*
./configure --prefix=/home/user-name/usr/local
make
make install


mecabのインストール

tar xvf mecab-0.996.tar.gz

cd mecab-0.996
./configure --prefix=$HOME/usr/local --with-charset=utf8 --enable-utf8-only
make
make install


.*shrc

export PATH=/home/user-name/usr/local/bin:$PATH



辞書のインストール

tar xvzf mecab-ipadic-2.7.0-********.tar.gz

cd mecab-ipadic-2.7.0-*********
./configure --with-charset=utf8 --with-dicdir=~/local/mecab-dic/ipadic-utf8
make
make install

/home/user-name/usr/local/etc/mecabrcを変更


mecabrc

.

.
dicdir = /home/user-name/local/mecab-dic/ipadic-utf8
.
.


mecab-pythonのインストール

tar xvzf mecab-python-0.996.tar.gz

cd mecab-python-0.996
vim setup.py(編集内容は↓の通り)
python setup.py build
python setup.py install

setup.pyに記載のディレクトリパスを全て書き換える


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


最後にパスを通す


.*shrc

.

.
export PATH=/home/user-name/usr/local/lib:$PATH
export LD_LIBRARY_PATH=/home/user-name/usr/local/lib
.
.

参考:

http://qiita.com/saicologic/items/ab70e14f7e2ec2ee0b4d

http://oshiete.goo.ne.jp/qa/8883975.html