【python入門】opencvインストールエラー
こんにちは!
今日はanacondaでopencvをインストールしたけど
ModuleNotFoundError: No module named 'cv2'
のエラーが出る対処法を備忘録。
結論から言います。
パスが通ってなかった。(こんなんばっかり!だけどありきたり)
環境
python3.7.4
anaconda
jupyter
状況
openCVを仮想環境上でインストール
■openCV入っているか確かめる
jupyter
■まず作った仮想環境(app1)にopenCV入ってるか確かめた
openCVインストール状況の確認
anaconda navigator
※app1には入ってる
※baseに入ってない
→どうやら作った仮想環境のapp1にはopenCV入っているけど
base(root)には入っていない。
app1のなかでcondaコマンドでインストールしたのだから当然。
jupyterではbase(root)をみに行っているっぽい?
(余談)
ちなみに仮想環境は
$ pyenv versions
system
3.7.4
* anaconda3-5.3.1 (set by /Users/[ユーザ名]/.pyenv/version)
anaconda3-5.3.1/envs/django
最初3.7.4だったのを
$ pyenv global anaconda3-5.3.1
で変更しました。だからbaseは3.7.4を見に行っているのかも。
(ちなみに3.7.4にはopencv入ってない)
解決
■openCVの場所確かめる
ターミナル
(app1)$python
>>>import cv2
>>>print(cv2)
<module 'cv2' from '/Users/[ユーザ名]/opt/anaconda3/envs/app1/lib/python3.7/site-packages/cv2.cpython-37m-darwin.so'>
↑ここにいた!
■パス変更
jupyter上で
・import sys
・sys.path.append('/Users/[ユーザ名]/opt/anaconda3/envs/app1/lib/python3.7/site-packages')
↑パスは人によって違う
→解決!!
以下を参考にさせていただきました!
https://techracho.bpsinc.jp/katayama-yuuki/2017_04_13/35124
※追記勉強メモ
sys.pathはpythonライブラリをimportする先を設定しているみたいです(つまりライブラリへのpath)
”ここの場所(path)にあるライブラリを参照(import)してくださいね”ってことですね、、
>>import sys
>>print(sys.path)
で今指定しているインポートできる先の一覧が表示されます。
上記appendでpathを追加できます。
※参考
https://www.sejuku.net/blog/66459
これでやっと機械学習の勉強に没頭できる、、