5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Python+MeCabの仮想環境をつくる

Last updated at Posted at 2017-12-11

#手軽な仮想環境を用意する
個人で必要があったので、作成がてらメモ。
私はMacで構築していますが、Windowsの方はVagrantのインストールを前提条件とします。

#作業
##Vagrantの準備
###Homebrewを入れる

bash
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ brew doctor

###VirtualboxとVagrantを入れる

bash
$ brew cask install virtualbox
$ brew cask install vagrant
$ vagrant plugin install vagrant-vbguest

これで準備ができましたので、仮想マシン用のディレクトリを作成しておきましょう。
私はホームディレクトリ配下にwork/VMを作成し、その下にプロジェクトごとのディレクトリを配置することが多いです。
※今回はホームディレクトリ配下にwork/VM/pythonを作成した前提とします。

###作成したディレクトリに移動する

bash
$ cd ~/work/VM/python

##仮想マシンを作成する

  • ボックスはubuntu/trusty64を指定
bash
$ vagrant init ubuntu/trusty64
$ vagrant up
$ vagrant ssh

マシンを立ち上げたらsshで接続しましょう

###pyenv(Pythonバージョン管理)を入れ、pythonのバージョンを指定する
####pyenvの依存パッケージを入れる

bash
sudo apt-get install -y git make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev curl llvm libncurses5-dev

####pyenvをインストール

bash
git clone https://github.com/pyenv/pyenv.git ~/.pyenv

####環境変数を追加

bash
cat << 'EOF' >> ~/.bashrc
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
EOF
exec $SHELL -l

####インストールの確認

bash
pyenv -v

####Pythonのインストール

bash
pyenv install 3.6.2
pyenv global system 3.6.2

##MeCabのインストール
###MeCabとPythonバインドをインストール

bash
$ sudo apt-get install mecab libmecab-dev mecab-ipadic
$ sudo aptitude install mecab-ipadic-utf8
$ sudo apt-get install python-mecab

##拡張辞書MeCab-ipadic-neologdの適応
###依存パッケージのインストール

bash
$ sudo aptitude install mecab libmecab-dev mecab-ipadic-utf8 git make curl xz-utils file

###インストール

bash
$ git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git
$ cd mecab-ipadic-neologd

###インストール前にスワップ領域を作成する

bash
$ sudo dd if=/dev/zero of=/swapfile1 bs=1M count=2048
$ sudo chmod 600 /swapfile1
$ sudo mkswap /swapfile1
$ sudo swapon /swapfile1

###インストール

bash
$ ./bin/install-mecab-ipadic-neologd -n -a 

-aオプションは全部入り、通常インストール(-aなし)では一部辞書はインストールされない

###スワップ領域をアンマウント

bash
$ sudo swapoff /swapfile1

###MeCab-ipadic-neologdをデフォルト辞書に設定する

bash
$ sudo find / -name mecabrc
$ sudo vim /etc/mecabrc

※以下を変更
変更前:dicdir = /usr/local/lib/mecab/dic/ipadic
変更後:dicdir = /usr/local/lib/mecab/dic/mecab-ipadic-neologd

###辞書更新のスクリプトの作成(更新のときにスワップ領域をマウントする)

bash
$ sudo mv mecab-ipadic-neologd/ /usr/local/lib
$ vim update_neologd.sh
$ chmod +x update_neologd.sh

vim update_neologd.shの書き込み内容は以下

update_neologd.sh
#!/bin/sh

echo 'START install-mecab-ipadic-neologd'
echo '=================================='
echo '[--SWAPON--]'
sudo swapon /swapfile1
echo '[--UPDATE--] ./install-mecab-ipadic-neologd -n -a -y'
/usr/local/lib/mecab-ipadic-neologd/bin/install-mecab-ipadic-neologd -n -a -y
echo '[--UPDATE--]FINISHED install-mecab-ipadic-neologd'
echo '[--SWAPOFF--]'
sudo swapoff /swapfile1
echo '=================================='

これで一旦は作成完了です。
異なる環境の場合は、MeCabのインストール場所などを環境に合わせて変更してください。

#次回
MeCabを使ったAPIの作成までをまとめたいです。
flask+mod_wsgiを使う予定ですが、変わる可能性あり。
Markdownは書き慣れていないので、度々修正します。

#参考
https://github.com/neologd/mecab-ipadic-neologd/blob/master/README.ja.md
書籍:スマートPythonプログラミング: Pythonのより良い書き方を学ぶ

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?