しぐれの戯言箱

技術的なメモ書き、ポケモンの調整記事、ソシャゲ奮闘記…etc

【備忘録】pythonでNo module nemad〜のエラーを回避した方法

前回書いたコードを実行しようとすると



 Traceback (most recent call last):
File "capture.py", line 3, in
import cv2
ImportError: No module named cv2



cv2モジュールがないと怒られた。

まさかインストールされてないのか?と一応リストを確認すると、、




$ pip3 list
Package Version

cycler 0.10.0
kiwisolver 1.1.0
matplotlib 3.1.1
mutagen 1.42.0
numpy 1.17.3
opencv-python 4.1.1.26←これ
Pillow 6.2.1
pip 19.2.3
pygame 1.9.6
pyparsing 2.4.2
python-dateutil 2.8.0
setuptools 41.4.0
six 1.12.0
wheel 0.33.6



cv2はとりあえずある。


長いこと検索しても解決口が見当たらなかったところに
とりあえずpythonからprint(sys.prefix)してみろという内容を見て実行。




>>> import sys
>>> print(sys.prefix)
/System/Library/Frameworks/Python.framework/Versions/2.7



これもしかしてpythonコマンドだとデフォでpython2.7を実行してんのか、、?


pip3はpython3のコマンドだからpythonコマンドじゃopencv-pythonに対応してないのかね?
試しにpyファイルのあるフォルダまで戻ってpython3で実行する。




$ python3 capture.py



無事実行できました。



PATHの設定ミスってコマンドほとんど使えなくなった時はひやっとした。
無駄な時間と労力を返しておくれ、、