ドローンの画像解析のためにpython-opencvをインストールしようとしたところ、私の環境下ではテキストに載っている「brew install opencv」ではインストールできませんでした。
いろいろ試してなんとか出来たので、もし同じようなターミナルのわがままに出くわされた人のために備忘録として残しておきます。
解決法
brew install opencvが出来ない
brew install opencv
や
pip install opencv-python
を使うと
zsh: command not found: 〇〇
と表示される場合
python3 -m ensurepip --default-pip
pip3 install opencv-python
というように”3″をつけたコードを入力してみる。
ModuleNotFoundError: No module named ‘cv2’
先の方法を試してもopencvモジュールが見つからない場合は、opencvがインストールされているPythonのバージョンを疑ってみる。
# opencvの情報を見る
>>>pip show opencv-python
#Pythonのパスを調べる
>>>which python3
とターミナルに打ち込みPythonとopencvの情報を確認。
opencvのlocationに表示されるptyhonのバージョンと、Pythonパスに表示されるバージョンが異なる場合は、opencvに合わせたバージョンのPythonをもう一度インストールしてみよう。
経緯「zsh: command not found: 」
ネットや参考書などでは
# opencvのインストールを確認する
pip show opencv-python
# opencvをインストールする
pip install opencv-python
と説明されているけれど、私の場合それらを行っても以下のように表示されてしまう。
# pipコマンドが見つからない
zsh: command not found: pip
つまりこれはzshが「であるpipコマンド(Pythonのパッケージ管理ツール)が見つからないよ」と言っているわけなので、先にそれをインストールしてみる。
既にPythonがインストールされているにもかかわらずpipがインストールされていないあるいは場所が違う、というのはどうにも腑に落ちないがとりあえず今回はPythonごとインストールし直してみた。
けれど、先と同じエラーが表示される
今度はPythonの呼び名を変え
python3 -m ensurepip --default-pip
pip3 install opencv-python
という感じで「Python」から「Python3」という風に書いてみたところちゃんと実行された。
どうやら”Python”コマンドではなく”Python3″コマンドだとうまくいくらしい。
しかし、未だ”import cs2 as cv”が見つからないと表示される。
インストール先が違うのかはたまた別の問題が発生しているのか、
とりあえずopencvとPython、2つの状況を整理するために両者の現在の状況を確認してみる。
# opencvの情報を見る
>>>pip show opencv-python
#Pythonのパスを調べる
>>>which python3
↓↓↓
# opencvの情報を見る
>>>pip show opencv-python
Name: opencv-python
Version: 4.9.0.80
Summary: Wrapper package for OpenCV python bindings.
Home-page: https://github.com/opencv/opencv-python
Author:
Author-email:
License: Apache 2.0
Location: /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages
Requires: numpy, numpy, numpy, numpy, numpy, numpy
Required-by:
#Pythonのパスを調べる
>>>which python3
/Library/Frameworks/Python.framework/Versions/3.12/bin/python3
よく見てみると、Pythonの現在のバージョンは3.12だけど、opencvがインストールされているパスは3.11となっている。これではPythonを実行してもOpenCVを見つけることが出来ない。
なので今度はPython3.11をインストールすることにした
pip3 install --upgrade pip
pip3 install opencv-python
そして、今度はきちんとPyCharm上でcs2モジュールを読み込むことが出来のであった。ちゃんちゃん♪