がべーじこれくしょん

技術系とかいろいろ

pip installしたはずなのにImport errorと言われた場合

環境

MacOSX 10.12.2 pyenv 20160629

方法

pip installしたモジュールをimportしようとしてImport Errorを吐かれたときは、$PYTHONPATHが正しく設定されているか確認しなければならないらしい。

pipでインストールしたモジュールのインストール先は、/usr/local/lib/python2.7/site-packages/であるのに対して、pyenvを使っている場合のパスは/Users/Hoge/.pyenv/shims/python/site-packages/になっている。これでは、pipでインストールしたモジュールが読み込まれないのもうなずける。

Pythonは、$PYTHONPATHという環境変数の中にあるパスを基本的には探索します。 そこで、$PYTHONPATHにこのpipで設定されているインストールパスを追加することで、正常に読み込まれるようになります。

$ export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages/

あとは、上記スクリプト.bashrcなり、.zshrcなりに追加することで解決です。