shuto_log.aep

ブログ名変わりました。自分がやったことなどを備忘録的な感じで残していこうと思います。

Mac OSX 10.11.4環境に Python 3.5.0 + MeCab インストールメモ

このブログは #onsen2016spring の提供でお送りします


はじめに

標準のPythonしか使ってなかったけどサークルの合宿で自分のMacに表題の環境をインストールし直したのでメモ。
homebrewを使っている前提です。

お品書き

  • 異なるバージョンのPython管理(homebrew + pyenv)
  • MeCabおよびmecab-ipadic-NEologdのインストール
  • Python上でMeCabを使えるようにする(mecab-python3)

異なるバージョンのPython管理(homebrew + pyenv)

pyenvでは異なるバージョンのPython複数インストールして以下の様なことができる。

  • コマンド一つで、使用するPythonバージョンの切り替え
  • ディレクトリによって使用バージョンを設定すること
  • パッケージをバージョン毎にインストールして管理すること

便利!!!

pyenvは元々(昔入れたような…)入っていたのがうまく動かなかったのだけど、いったんアンインストールして、再度入れたら動いた。


まずは既存のpyenvをアンインストールしたが、念のためpyenvでインストール済みのPythonをすべてアンインストールしてからpyenvをアンインストールした。

~ $ > pyenv versions

とするとpyenv経由でインストール済みのバージョンが一覧される。
f:id:shutosg:20160329101523p:plain

まずpyenv globalコマンドで、使用するバージョンをシステム標準のバージョンに切り替えた。

~ $ > pyenv global system

その後

~ $ > pyenv uninstall 2.7.8

とかしてsystem以外のバージョンをすべて消したあと、

~ $ > brew uninstall pyenv

してpyenvをアンインストール。
~/.pyenv以下にpyenv関連のファイルがあるんだけど、アンインストール後も残ってたのでそれらも削除。(最初は怖くて他のディレクトリにいったん退避させたけど、実害無かったっぽい。一応自己責任で。)

~ $ > rm -rf ~/.pyenv/*

homebrewのインストール

qiita.com
とかに詳しく書いてあるのでそちら参照。僕はいつもbrew使ってるのでそれをそのまま使いました。

pyenvのインストール

ここも一つ前のリンクと同じページを参照してよいかと。
qiita.com

やることはbrew install pyenvとrcファイルへのパス追記だけ。ちなみにPythonのパッケージ管理ソフトのpipも入ってくる。最高。

必要なバージョンのインストール

pyenvは飽くまでもバージョンの管理ソフトなのでPython自体は別途インストールする。

~ $ > pyenv install -list

でインストール可能なバージョンの一覧が見れるので、それで確認した後に

~ $ > pyenv install 3.5.0

など必要なバージョンをインストールする。

使用バージョンの設定

pyenv versionsアスタリスクが付いているのが現在の使用バージョン。
使いたいバージョンにpyenv global 3.5.0とかするとそのバージョンがデフォルトのバージョンになる。python --versionすると現在のバージョンが確認できるので、pyenv global前後でバージョンが変わるのが分かる。また、パッケージもバージョン毎に管理されるので、パッケージは使用したいバージョンにpyenv globalした後にpip installしなければならない。

MeCabおよびmecab-ipadic-NEologdのインストール

Mecabはフリーの形態素解析エンジン的なsomethingmecab-ipadic-NEologdはそのシステム辞書でなんかすごいやつらしい(語彙力)。システム辞書には標準のものの他に、mecab-ipadicとかmecab-ipadic-NEologdとかあるらしい。

MeCab

~ $ > brew install mecab

で、インストールした。

mecab-ipadic-NEologdはgithubのcloneからインストールした。
github.com
にご丁寧に日本語で説明が書いてあるのでそちらを参照。

~ $ > echo "今日はパッチギが元気" | mecab -d /usr/local/lib/mecab/dic/mecab-ipadic-neologd

でエラー吐かずにきちんと形態素解析結果が出てくればインストールできてる。
f:id:shutosg:20160329111006p:plain

Python上でMeCabを使えるようにする(mecab-python3)

~ $ > pip install mecab-python3

して、mecab-python3というパッケージをインストールするとimport MeCabできるようになる。

# coding: utf-8
import MeCab
mecab = MeCab.Tagger("-d /usr/local/lib/mecab/dic/mecab-ipadic-neologd")
print(mecab.parse("今日もパッチギは元気"))

が動けば問題ない。

不要なパッケージはpip uninstall numpyとかすればアンインストールできる。