AmazonLinuxで、Python3から形態素解析ライブラリのMeCabを使用できるようセットアップしたVagrantの設定ファイルを作成しました。
下記の内容をVagrantfileの名前で保存し、vagrantが入った環境でvagrant up
するだけで環境が構築できます。
[関連記事]
Vagrantfileの中身
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "mvbcoding/awslinux"
# config.vm.synced_folder "../data", "/vagrant_data"
# config.vm.provider "virtualbox" do |vb|
# vb.gui = true
# vb.memory = "1024"
# end
config.vm.provision "shell", inline: <<-SHELL
# install comiler
sudo yum install gcc-c++ -y
# install MeCab
wget -O mecab-0.996.tar.gz "https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7cENtOXlicTFaRUE" -q
tar zxvf mecab-0.996.tar.gz
pushd mecab-0.996
./configure
make
sudo make install
sudo ln -s /usr/local/lib/libmecab.so.2.0.0 /lib64/libmecab.so.2
popd
# install Dictionary
wget -O mecab-ipadic-2.7.0-20070801.tar.gz "https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7MWVlSDBCSXZMTXM" -q
tar zxvf mecab-ipadic-2.7.0-20070801.tar.gz
pushd mecab-ipadic-2.7.0-20070801
./configure --with-charset=utf8 --with-mecab-config=/usr/local/bin/mecab-config
make
sudo make install
popd
# check
/usr/local/bin/mecab -v
ls -l /usr/local/lib/mecab/dic/ipadic
# test
echo "MeCabを使った分かち書きのテストです。" | /usr/local/bin/mecab
# install pyenv
sudo yum install gcc gcc-c++ make git openssl-devel bzip2-devel zlib-devel readline-devel -y
sudo -u vagrant sh -c "git clone https://github.com/pyenv/pyenv.git ~/.pyenv"
sudo -u vagrant sh -c "sudo -u vagrant ~/.pyenv/bin/pyenv --version"
# install python3
sudo -u vagrant sh -c "~/.pyenv/bin/pyenv install 3.6.5"
sudo -u vagrant sh -c "~/.pyenv/bin/pyenv global 3.6.5"
# set .bash_profile
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~vagrant/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~vagrant/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~vagrant/.bash_profile
# check python version
sudo -u vagrant bash -c "source .bash_profile; python --version"
# install mecab-python3
sudo -u vagrant bash -c " export PATH=/usr/local/bin:$PATH; source .bash_profile;pip install mecab-python3"
# check mecab-python
cat <<EOT > /home/vagrant/test01.py
# coding: utf-8
import sys
import MeCab
m = MeCab.Tagger ("-Owakati")
print(m.parse ("すもももももももものうち"))
EOT
chown vagrant:vagrant /home/vagrant/test01.py
sudo -u vagrant bash -c "source .bash_profile; python test01.py"
SHELL
end
実行結果
実行するとプロビジョニングの最後に、以下のような感じでMeCabの実行結果が出力されます。
$ vagrant up
...
default: すもも も もも も もも の うち
こちらもおススメ
One thought on “[NLP]VagrantでPython3からMeCab使える環境をセットアップ”