MacのPythonで「ImportError: No module named ‘cv2’」とエラーが出る時はコマンドconda install -c menpo opencv3=3.1.0で解決しよう【Anaconda環境】

MacのPythonで「ImportError: No module named ‘cv2’」とエラーが出る時の対処法です。
(Anaconda環境、macOS Mojave 10.14.3)

結論からいうと、anaconda環境を設定した状態( 「source activate py35」等 )で
ターミナルで
conda install -c menpo opencv3=3.1.0
を実行すれば解決です。


最近、Pythonの書籍「PythonによるAI・機械学習・深層学習アプリ」のつくり方

(上記はAmazonのアソシエイトリンクを使用しています)

という本を買ったのですが、
P.133ページの
顔検出のプログラムがどうしても動きませんでした。

[ImportError: No module named ‘cv2’]
というエラーが出てしまいます。OpenCVが読み込めていないらしい。

Anaconda環境には

opencv-python             4.1.0.25                 pypi_0    pypi
という感じでOpenCVが入っていたんですよね。

このバージョンがopencv-python 4.1.0.25となっているのにimportの名前が「cv2」になるロジックが分かりません…(超初心者)。略称はどこから調べれば良いのでしょうか。

Pythonはプログラミングは簡単でも難しくもなく普通ですが、動くまでの環境設定をするのがとても大変な印象です。

Anacondaは書籍に書いてあるとおりにインストールしてセッティングしていました。

 

そして見つけたのがこの記事。

python3でcv2をimportする方法

ターミナルで

conda install -c menpo opencv3=3.1.0

を実行しましょう。

 

PythonのOpenCVモジュールがうまく読み込めていなかったようなのですが、このコマンドで新しくインストールしたら読み込めました。

実行結果がこちらです。

画像のモデルはフリー素材サイト「ぱくたそ」でも活躍されているモデルの
河村友歌(ゆかちぃ)さんです。

conda list
をしてみたら、

opencv3                   3.1.0                    py35_0    menpo

というものが新しく入っていたので、こちらを読み込んで動いているようです。

もっと勉強せねば…

ボカロの最新曲ランキングサイト「ソングストーリー」(https://www.songstory.me/)に、深層学習の仕組みを取り込んでいけたらいいなぁと思って色々やっています。
上の書籍に、「自然言語処理を利用した機械学習」の例でスパム投稿を判定するプログラムの実践があったので使えそうだなと思ったんですよね。

(…そうしたらRailsではなくてDjangoで書き直さないといけないんですけどね。)

という訳で、Pythonで「ImportError: No module named ‘cv2’」とエラーが出た時の対処法でした。

なにか間違っていましたらTwitter等でリプを頂けると幸いです。m(_ _)m