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

原因

原因はモジュールファイル 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つの文書をご参照ください。

Jingwood

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

Leave a Reply

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