OpenCVを使って顔認識のプログラムを書いてみようと思ったのだが、コーディング開始1行目でエラー発生。

import cv2

エラーの内容は次のとおり。

ImportError: numpy.core.multiarray failed to import

調べてみると、どうやらNumPyのバージョンアップにより解決できるとのことなので「pip install -U numpy」でバージョンアップを試したが「Requirement already satisfied」と上手くいかない。

ここからは実際に解決へ至るまでに試した手順を紹介する。

前提条件

まずは前提となる環境について紹介しておく。

OSは「Mac OS Catalina 10.15」、Python環境はAnacondaにて用意した。

Anaconda環境へOpenCVをインストール

まず、Anaconda-Navigatorを起動し、OpenCVがインストールされているか確認する。

リストに出てこない場合は、そもそもOpenCVがインストールされていないので、以下のとおりプルダウンの値を「Not Installed」に変更し、検索ボックスへ「opencv」と入力。

リストに表れた「opencv」にチェックを入れ、画面下の「Apply」ボタンを押す。

以下のダイアログが表れるので、さらに「Apply」ボタンを押してインストールする。

インストールが完了すると、プルダウンを「Installed」、検索ボックスに「opencv」を入力した時に「opencv」がリストに表示されているはずだ。

Numpyのバージョンアップ

Numpyのバージョンアップはターミナルから行う。

以下の赤枠で囲ったボタンを押し、ターミナルを起動する。

ターミナルで以下のコマンドを実行するとライブラリの更新が行われる。

conda update numpy

これでNumpyのバージョンアップは完了だ。

JupyterNotebookを再起動

JupyterNotebookを再起動し、再度OpenCVのインポートを行ってみよう。

import cv2

エラーが発生しなければOKだ。