この記事は3年以上前に書かれた記事で内容が古い可能性があります
Ubuntu14にMeCab-Python環境を構築する
2017-07-22
Vagrantで作ったまっさらなUbuntuにMecab-Pythonの環境を構築する
□python3.5環境整備
pipをインストール
pipをインストール
#apt-get install python-pip #apt-get install git gcc make openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev
pyenvをインストール
#git clone git://github.com/yyuu/pyenv.git ~/.pyenv # echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc # echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc # echo 'eval "$(pyenv init -)"' >> ~/.bashrc # source ~/.bashrc # pyenv versions * system (set by /root/.pyenv/version)
pyenv-virtualenvをインストール
# git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv # echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
pyenv-virtualenvを作成
# pyenv versions * system (set by /root/.pyenv/version) # pyenv install 3.5.0
設定
# pyenv versions * system (set by /root/.pyenv/version) 3.5.0 # ls # mkdir slack_bot_work # cd slack_bot_work/ ~/slack_bot_work# ls ~/slack_bot_work# pyenv local 3.5.0 ~/slack_bot_work# pyenv virtualenv slack_bot_work ~/slack_bot_work# pyenv versions system * 3.5.0 (set by /root/slack_bot_work/.python-version) 3.5.0/envs/slack_bot_work slack_bot_work ~/slack_bot_work# pyenv local slack_bot_work ~/slack_bot_work# pyenv versions system 3.5.0 3.5.0/envs/slack_bot_work * slack_bot_work (set by /root/slack_bot_work/.python-version)
□MeCabインストール
~/slack_bot_work# apt-get install mecab ~/slack_bot_work# apt-get install mecab-ipadic
mecab-python3がインストールできない
~/slack_bot_work# apt-get install python-dev ~/slack_bot_work# pip install mecab-python3
python-devをインストールすることで解決
lxmlがインストールできない
~/slack_bot_work# apt-get install libxml2-dev libxslt1-dev ~/slack_bot_work# pip install lxml==3.8.0
libxml2-dev libxslt1-devのインストールとマシンのメモリ増強で解決
メモリ増強は結構ミソ
□MeCab実行
エラー
エラー
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbb in position 17: invalid start byte
utf-8の辞書が入っていなかった、、、
~/slack_bot_work/mecab_slack_bot# apt-get install mecab-ipadic-utf8
def mecab_perse(text=None): m = MeCab.Tagger ("-Ochasen") if text != None: return m.parse(text)