Pythonでの「ModuleNotFoundError」解決方法

はじめに

よく遭遇するエラーの内、「ModuleNotFoundError」を解決した方法を書きました。

私が実際に手を動かした記録なので、少し主観が入るかもしれませんが、少しでもご参考にしていただければ幸いです。

参考記事:https://www.sejuku.net/blog/50417

実行環境:macOS Catarina 10.15.6

現在の日付:2020/09/21

エラー発生までの過程

以前の記事でpythonをインストールしました 。

programmatictk0137.hatenablog.com

なので端末上でpythonと打つだけでpythonが使えるようになります。↓

f:id:tk0137:20200920124030j:plain

print()関数で適当な文字列を出力。↓

f:id:tk0137:20200920124402j:plain

exit()を入力してコマンド入力画面に戻る。↓

f:id:tk0137:20200920124514j:plain

また、別のファイルに書いたpythonコードも以下のようにコマンドで実行できます。↓

test.py

print("Hello World !!")

実行結果

f:id:tk0137:20200920125459j:plain

しかし、例えば次のプログラムを実行しようとするとエラーが発生してしまいます。

display.pyは入力した画像ファイルを読み込んで表示するプログラムです。

display.py

import cv2
print("image_path?",end = " : ")
img_path = input()
img = cv2.imread(img_path)
cv2.imshow('sample', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

実行結果

f:id:tk0137:20200920131922j:plain

上のエラーではcv2というモジュールがないとエラーメッセージが出ています。

解決方法

この系統のエラーはpipコマンドを使用して対象のモジュールをインストールすることで解決しました。

pipとはPythonのパッケージを管理するためのツールです。

今回の場合はcv2モジュールをインストールするため、下のコマンドを実行します。

$ pip install opencv-python

f:id:tk0137:20200920192723j:plain

pipでエラーが出る場合

バージョンが古い可能性があります。

pipそのものにもバージョンがあります。

月に1~2回くらいのペースで新しいバージョンがリリースされているように感じますので、適度に以下のコマンドを実行してpipをアップグレードしてください。

$ pip install --upgrade pip

f:id:tk0137:20200920193420j:plain

以上の作業をした上で、エラーが改善されない場合は、以下の記事に詳細に対策を書いてみたので参考にしてください。

programmatictk0137.hatenablog.com