#概要
Macでfastprogressを使いたいため、https://pypi.org/project/fastprogress/ にしたがって
conda install -c fastai fastprogress
をして
import fastprogress
としたら
ModuleNotFoundError: No module named 'fastprogress'
と出てしまい、少しハマりました。しかししばらくして解決できたので、解決した方法を共有します。
#原因
conda list
をしても、
fastprogress 0.1.21 py_0 fastai
という結果となっており、「おかしいな。。あるじゃん。。」と思っていました。
結局、Anacondaが2つ入っていて、installした場所とその後読み込んでいる場所が違ったのが原因でした。
なぜこれに気づいたかというと、ターミナルでPythonと打った場合とiPythonと打った場合で読み込んでいるAnacondaの保存場所が違うことに気づいたからです。まずPyhtonの方は、
import numpy
numpy.__file__
としたら
'/Users/kashi1mochi/anaconda3/lib/python3.6/site-packages/numpy/__init__.py'
と出ます。一方、iPythonだと
import numpy
numpy.__file__
とすると
'/anaconda3/lib/python3.6/site-packages/numpy/__init__.py'
と出ました。
なるほど。。違う場所にあるんだな。。
実際、
cat ~/.bash_profile
として確認すると、
# added by Anaconda3 5.0.1 installer export PATH="/anaconda3/bin:$PATH"
# added by Anaconda3 5.0.1 installer export PATH="/Users/kashi1mochi/anaconda3/bin:$PATH"
のように出てしまっています。
#解決策
今回はpython関係のモジュールを全てanacondaで管理することにしました。そのため、簡単に言うと、「全てanacondaでやりましょう」ということです。Dockerとか使えるのかもしれませんが、まだよく理解できていないので。
python、ipython、jupyterは /usr/local/bin を参照していて、でもanacondaでいろいろインストールしていて、、と、参照先がバラバラだと訳がわからなくなってしまいます。
この「全てanacondaでやる」というのは、ググってみてください。
とは言え一応少し参照先の確認方法などを書いておきます。
which python
which ipython
which jupyter
などとすると、
/Users/kashi1mochi/anaconda3/bin/python
のように、それぞれのライブラリがどこを参照先としているのかを簡単に確認できます。これで全てanacondaを参照していれば、「conda installしたのになぜかno moduleって出る。。」みたいなことはなくなります。