LoginSignup
7
11

More than 3 years have passed since last update.

Python3でopencvを使おうとしてハマった話

Posted at

初投稿です。
python3でopencvを使おうとしてハマったので、メモがわりに残します。

環境

  • Python 3.6.2
  • pyenv-virtualenv
  • macOS 10.14.6

エラー内容

  File "test.py", line 3, in <module>
    import cv2
ModuleNotFoundError: No module named 'cv2'

唐突に現れたimport文のModuleNotFoundError
なんかの拍子にopencv-python誤って消してしまったかと思い、確認

$ pip list
Package               Version
--------------------- --------
...
opencv-python         4.1.0.25
...

普通にある...
とりあえず、直接pythonから叩いてimportしてみよう

Python 3.6.2 (default, Nov 18 2017, 21:22:04)
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.38)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>>

うーん、謎が深まった...

やったこと

いろんな記事見ながらひたすらいろんなことを試した

  • pip使ってもう一度opencv-python入れ直す
  • site-packages/cv2以下のcv2.cpython-36m-darwin.socv2.soにrename
  • $ pip install opencv-contrib-pythonでopencv-contrib-pythonを入れる(利用法に注意してください。)
  • $ brew install opencv3 --with-python3 --without-python --with-contrib

どれもダメでした...

解決方法

cv2をimportする前にライブラリのパスを通す必要があったらしい
とりあえず下記のコードでなんとか動いた!

import sys
sys.path.append('/Users/yuta/.pyenv/versions/lab/lib/python3.6/site-packages')
import cv2

原因

きっとパス関連の何かなのだと思う
詳しいことは勉強不足で結局わからずじまいであった...
とりあえず、投稿してみて強い人からコメント来るといいな

参考記事

未経験大学生によるpython入門日誌-第4話 OpenCV篇
Pythonチュートリアルをやってみる 特別編

7
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
11