VSCodeでPythonを実行すると、ModuleNotFoundError: No module named '<モジュール名>'
というエラーが発生することがあります。この記事では、その原因と解決策を紹介します。
原因
VSCodeでPythonを実行したところ、ModuleNotFoundError: No module named 'mysql'
というエラーが発生しました。原因は、VSCodeのPythonパスが間違っていたことでした。
解決策
VSCodeのPythonのパスを修正することで解決しました。具体的な手順は以下の通りです。
- VSCodeの設定からPythonのパスを確認します。
python
と検索して、下にスクロールすると、Python:Python Path
という項目があります。- ここが、
C:\\Users\\ (ユーザー名)\\Anaconda3\\python.exe
となっていた場合、以下のようにパスをPython3.9のpython.exeファイルに変更します。
C:\\Users\\ (ユーザー名)\\AppData\\Local\\Programs\\Python\\Python39\\python.exe
- パス変更後、念のためVSCodeを再起動します。
- 再起動後、再度モジュールのインストールが必要だったため、以下を実行します。
pip install mysql-connector-python
pip install mysql
pip install mysql-connector - モジュールインストール後に、Pythonファイルを実行したところ、エラーは発生しなくなりました。
注意点
ファイル名が原因でもエラーが発生することがあります。例えば、mysql.py
というファイルを作成した場合、import mysql
と記述すると、もともとのPythonのモジュールではなく、作成したファイルを読み込んでしまいます。そのため、mysql.メソッド ()
を実行しようとすると、「そんなメソッドはないよ」というエラーが出ます。既存モジュールとのファイル名競合にも気を付ける必要があるようです。
以上、VSCodeでのPython実行時に、No module named '<モジュール名>'
が出た場合の、原因と解決法を紹介しました。VSCodeのPython設定で、Pythonのパスが間違っていたことが原因だったので、パスを変更することで解決しました。どなたかの参考になれば幸いです。