Pythonで仮想環境を使用していると、ModuleNotFoundError: No module named '{モジュール名}'
というエラーが出ることがあります。この記事では、その対処法を紹介します。
エラーの原因
Pythonファイルを実行するときに、以下のようなエラーメッセージが出ることがあります。
> python xxxxxx.py
Traceback (most recent call last):
File "/Users/XXXXXXXX/xxxxxx.py", line 1, in <module>
import {モジュール名}
ModuleNotFoundError: No module named '{モジュール名}'
このエラーは、指定したモジュールが見つからないときに発生します。仮想環境上のライブラリではなく、システムにインストールしたライブラリを見に行ってしまっている可能性があります。
対処法
モジュール情報の確認
まずは、pipでモジュール情報を確認します。
> pip show {モジュール名}
モジュールが存在していない場合は、以下のコマンドでモジュールをインストールします。
pip install {モジュール名}
sys.pathの設定
次に、sys.pathをPythonの実行ファイルの一番頭に入れます。
import sys
sys.path.append('/opt/anaconda3/envs/xxxxxxxx/lib/pythonX.X/site-packages')
import xxxxxx
これで、ほとんどの場合にエラーは解決します。
以上がPythonの仮想環境でモジュールエラーが発生したときの対処法です。この方法でエラーが解決しない場合は、他の要因が考えられますので、適切な対策を講じてください。