【最終版】MacBookAirで入門自然言語処理の環境構築まで
前回こんな感じで入門自然言語処理の環境構築やってみたものの、どうやらダメだったので再度チャレンジ。
Macにはなから入ってるPythonだとmatplotlibが上手く動かない。公式のどこかにも、うまくいかないよ、って書いてあった。
NLTKがPyYAMLに、matplotlibがNumpyに依存する。なお処理系の実装からしてMac用は複数存在するらしく、挙動も微妙に違う模様。
とりあえず上記環境が整うことを目標に節操無く試してみた結果、MacPortsを使ってPythonを1から導入する方法でうまくいった。MacPortsのインストールは割愛。
MacportsでPythonをインストールする方法がいいらしい。
とりあえずMacportsとXcodeをインストールする。それはここを参照すれば良い。
ちゃんとXcodeがオプション付きでインストール出来てないとエラーがでるのです。
こんなの
Error: Unable to open port: can't read "build.cmd": Failed to locate 'make' in path: '/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin' or at its MacPorts configuration time location, did you move it?
しょうがないので再インストール。
Spotlightにxcodeって いれるとInstall Xcodeってのが出てくるからそこからインストールしてMacportsをアップデートする。
$ sudo port selfupdate
$ sudo port sync
これでPythonがインストールできる。
$ sudo port install python27
ここまでやったら最初に紹介したブログに戻る。
Python2.7のインストール、時間かかるな。。。。。。
インストール後、使用するPythonのバージョンを切り替える。ここを参照
インストール済みの python を確認。
$ port select --list python Available versions for python: none python24 python25-apple python26 python26-apple (active) python27さっきので python26-apple (active) ってなってましたが念の為に現在、有効になっている python を確認。
$ port select --show python The currently selected version for 'python' is 'python26-apple'.python27 に切り替える。
sudo port select --set python python27 Selecting 'python27' for 'python' succeeded. 'python27' is now active.切り替わっているのを確認。
$ port select --list python Available versions for python: none python24 python25-apple python26 python26-apple python27 (active)
僕の環境では python27をアクティブに。
python27-appleってのも入ってるんだけど、これ使うとmatplotlibが使えないです気を付けて。
$ sudo port select --set python python27
apple使った時のエラーはこんな感じ。
>>> import matplotlib
ImportError: No module named matplotlib
で、pythonの確認。
$ which python
/opt/local/bin/python
切り替え完了。
手順どおり、NLTKのインストール
$ sudo port install py27-nltk
因みにこいつも相当時間がかかる。というか本当に時間がかかるので、寝てる間にやること推奨。
最後に、matplotlibrcを書き換える
$ sudo vim ~/.matplotlib/matplotlibrc
ファイルの中に下記を記入してインストール完了。
backend: MacOSX
本に戻って、コイツを実行してみる
>>>from nltk.book import *
>>> text4.dispersion_plot(["citizens", "democracy"])
表示された!これで環境構築完了です。時間かかったわ…