python で opencv を利用しようとして、import cv2
を実行したら以下のエラーメッセージが表示されます。
Traceback (most recent call last): File "test.py", line 2, in <module> import cv2 ImportError: No module named cv2
原因
原因はPythonがモジュールファイルcv2.soを見つけることができないためです。(ファイルが見つかっているが、読み込み権限がない、またはファイル自体が破損しているなど、いくつかの理由が考えられます。)
cv2.so は 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つの文書をご参照ください。