【Python】ModuleNotFoundErrorの原因と対策

プログラムを書いていてエラーが出るとテンションが下がります。エラーが出たときにまずやらないといけないのはなぜエラーが起きたかの分析と、どうすればエラーを解消できるのかです。

今後Pythonで起こりがちなエラーの原因とその対策について少しずつまとめていこうと思います。

今回はModuleNotFoundErrorについてです。

どんな時に起こるのか

ModuleNotFoundErrorは、インポートしようとしたライブラリが見つからない場合に発生するエラーです。

import openpyxl

>>
ModuleNotFoundError: No module named 'openpyxl'

原因と対策

①誤字

よくあるのがこのパターンです。ちょっと長い名前のライブラリ等をインポートする際には、誤字が無いかを再度確認してみてください。

②使用している環境にライブラリが存在しない

今使用している環境に、インポートしようとしているライブラリが存在しているか改めて確認してみてください。

base環境には入っているが、仮想環境には入っていない(そして、今仮想環境を使っている)場合もあります。使っている環境のパッケージ一覧にライブラリが含まれているか確認してください。

Anacondaの場合はAnaconda Promptでconda listでパッケージ一覧を確認できます(仮想環境をの場合はactivateする必要があります)。

pipの場合はコマンドプロンプト(ターミナル)にてpip listで確認します。

③インポート時の名称が異なる

稀なケースですが、環境にインストールするときとプログラムにインポートする際で名称が異なるライブラリも存在します。例えば、OpenCVは環境へのインストール時はconda install opencvですが、プログラムへの読み込み時はimport cv2となります。

インポート時の名称が正しいかを確認してください。

まとめ

ModuleNotFoundErrorの原因と対策について紹介しました。

ライブラリのインポートは避けて通れないので、エラーとなっても冷静に対処してくださいね。

ではでは👋