python で opencv を利用しようとして、import cv2
を実行したら以下のエラーメッセージが表示されます。
Traceback (most recent call last): File "test.py", line 2, in <module> import cv2 ImportError: No module named cv2
原因
原因はモジュールファイル cv2.so
を python が見つけられないためです。(または見つかっているが読み込み権限がない、ファイル自体が破損しているなど)
brew や pip などのツールを使えば自動的にインストールしてくれますが、正しくインストールされないときが困りますので、私の場合 opencv のソースコードから手動でインストールします。
解決策
macOS 最新版(High Sierra 10.13.1 現在)にデフォルトで搭載している python は python2 です。拡張モジュールのパスは以下の通りです。
/Library/Python/2.7/site-packages/
ls
コマンドなどでこのパスの下に cv2.so
ファイルが確実に存在するかを確認します。手元に macOS 用の cv2.so
があればコピーして入れると問題が解消することがあります。
cv2.so
がなければ opencv のソースコードからビルドすることもできます。詳しくは以下の2つの文書をご参照ください。