Skip to main content

import cv2 で ImportError: No module named cv2 エラーが発生

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つの文書をご参照ください。

Jingwood

北海道の田舎で暮らしているプログラマーです。最近山登りにハマりました。

Leave a Reply

Your email address will not be published. Required fields are marked *