Jupyter NotebookでopenCVをimportしようとすると"ImportError:No module named cv2"が出てしまう
最近、openCV4がリリースされたが、openCV3もしばらく維持されるらしい。openCV4で使い方を覚えていこうと思っている。単にこれからのバージョンという以外に、このQiitaの記事にあるように過渡期のせいかインストール構成の変更がこまめになされており、PATHの問題でバージョン管理に苦労したくはない。
OpenCVインストール構成の変遷(OpenCV 3.4.3,3.4.4,4.0.0)
そこで、pipなりcondaなりに頼ることにしたが、色々検索していると、jupyter notebookで
import cv2
とすると、"ImportError:No module named cv2" が返ってくるという問題がよくあるらしい。
よくある解決法を試してみたが、
- 検索すると pip install opencv-python を使う方法がよくヒットするが、管理ソフトの入れ子によるインストールはトラブルをまねく可能性がある。
- anaconda cloudからのインストールだけで解決したい。
- やってみたらpython2.7系に落としてインストールしていた例もあった。やはりpython3系で通したい
ということで色々試した結果…
今回(2019.5.30 現在)、以下のシンプルな手順で解決したのでメモとして残しておく
-
環境
- macOS 10.14.4
- Anaconda3 (conda 4.6.14)
まず仮想環境(ここではopencv_condaという名前)を作成する。この時、以下のチャンネルのopencv4のみをインストールする
conda create -n opencv_conda -c conda-forge opencv
次にこの仮想環境でjupyter notebookを使えるようにする。
conda install -n opencv_conda -c anaconda jupyter
ここでインストールされたバージョンは以下
numpy 1.16.4
python 3.7.3
opencv 4.1.0
notebookを起動して
import cv2
としても
ImportError:No module named cv2
が返ってくることはなくなります。