Mac OSX 10.11.4環境に Python 3.5.0 + MeCab インストールメモ
このブログは #onsen2016spring の提供でお送りします
異なるバージョンのPython管理(homebrew + pyenv)
pyenvでは異なるバージョンのPythonを複数インストールして以下の様なことができる。
- コマンド一つで、使用するPythonバージョンの切り替え
- ディレクトリによって使用バージョンを設定すること
- パッケージをバージョン毎にインストールして管理すること
便利!!!
pyenvは元々(昔入れたような…)入っていたのがうまく動かなかったのだけど、いったんアンインストールして、再度入れたら動いた。
pyenv global 3.5.0したのにpython —versionしても2.7.10って出てくる…
— Shuto (@shuto_fms) 2016年3月28日
brew uninstall pyenvしてgit clone git://github.com/yyuu/pyenv.git ~/.pyenvし直したらいけた
— Shuto (@shuto_fms) 2016年3月28日
まずは既存のpyenvをアンインストールしたが、念のためpyenvでインストール済みのPythonをすべてアンインストールしてからpyenvをアンインストールした。
~ $ > pyenv versions
とするとpyenv経由でインストール済みのバージョンが一覧される。
まずpyenv global
コマンドで、使用するバージョンをシステム標準のバージョンに切り替えた。
~ $ > pyenv global system
その後
~ $ > pyenv uninstall 2.7.8
とかしてsystem
以外のバージョンをすべて消したあと、
~ $ > brew uninstall pyenv
してpyenvをアンインストール。
~/.pyenv
以下にpyenv関連のファイルがあるんだけど、アンインストール後も残ってたのでそれらも削除。(最初は怖くて他のディレクトリにいったん退避させたけど、実害無かったっぽい。一応自己責任で。)
~ $ > rm -rf ~/.pyenv/*
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はフリーの形態素解析エンジン的なsomething。mecab-ipadic-NEologdはそのシステム辞書でなんかすごいやつらしい(語彙力)。システム辞書には標準のものの他に、mecab-ipadicとかmecab-ipadic-NEologdとかあるらしい。
~ $ > brew install mecab
で、インストールした。
mecab-ipadic-NEologdはgithubのcloneからインストールした。
github.com
にご丁寧に日本語で説明が書いてあるのでそちらを参照。
~ $ > echo "今日はパッチギが元気" | mecab -d /usr/local/lib/mecab/dic/mecab-ipadic-neologd
でエラー吐かずにきちんと形態素解析結果が出てくればインストールできてる。
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
とかすればアンインストールできる。