以下の内容はhttps://error-daizenn.hatenablog.com/entry/2026/03/05/222634より取得しました。


Pythonで「No module named mysql」エラーが出る原因と解決方法【Windows環境の完全ガイド】

 

Pythonで「No module named mysql」エラーが出る原因と解決方法【Windows環境の完全ガイド】

PythonでMySQLデータベースに接続するスクリプトを実行した際に、「No module named mysql」というエラーが表示されて困った経験はないだろうか。特にWindows環境では、MySQL関連のパッケージが正しくインストールされていない、あるいは使用しているPython環境と異なる場所にインストールされていることが原因でこのエラーが発生するケースが多い。

この記事では、「No module named mysql」エラーの原因から具体的な解決方法までをわかりやすく解説する。Python初心者から実務でMySQLを扱うエンジニアまで、トラブルシューティングの決定版として役立つ内容をまとめた。

「No module named mysql」エラーとは何か

PythonでMySQLデータベースに接続する場合、通常は専用のコネクタライブラリを使用する。しかしPython標準ライブラリにはMySQL接続機能が含まれていないため、外部パッケージをインストールする必要がある。

「No module named mysql」というエラーは、PythonがMySQL関連のライブラリを見つけられない場合に発生するエラーだ。つまり、現在実行しているPython環境にMySQLコネクタが存在しないことを意味している。

特にWindowsでは、複数のPythonバージョンがインストールされているケースが多く、別のPython環境にパッケージを入れてしまうことでこの問題が起きやすい。

まず確認すべきPythonの実行環境

最初に確認すべきなのは、実際にスクリプトがどのPythonを使用して実行されているかという点である。

Windowsでは複数のPythonが共存していることが珍しくない。たとえば以下のような環境が同時に存在することもある。

・Python公式インストーラ版
・Microsoft Store版Python
・Anaconda
・仮想環境(venv)

そのため、パッケージをインストールしたPythonと、スクリプトを実行しているPythonが異なるとモジュールが見つからない状態になる。

コマンドプロンプトでPythonのバージョンや場所を確認すると、どのPythonが実行されているのかを把握できる。ここで表示されたPython環境に対してMySQLパッケージをインストールする必要がある。

MySQLコネクタをインストールする方法

PythonからMySQLに接続するための最も一般的で安定したパッケージは「mysql-connector-python」である。

このパッケージをインストールすることで、PythonスクリプトからMySQLデータベースに接続できるようになる。

Windows環境では通常、pipを使ってインストールする。もしpipコマンドが認識されない場合でも、Pythonモジュールとしてpipを呼び出せば問題なくインストール可能だ。

また、Pythonが複数インストールされている場合は、pyコマンドを使ってインストールすることで正しいPython環境にパッケージを導入できる。

インストール後の動作確認

パッケージのインストールが完了したら、正常に導入されているか確認することが重要だ。

Python環境でMySQLコネクタをインポートできるかをテストすることで、エラーの原因が解消されたかどうかを簡単に確認できる。

問題なくインポートできれば、PythonからMySQLへ接続する準備は整っている。

よくある原因1:間違った環境にインストールしている

このエラーで最も多い原因は、パッケージを別のPython環境にインストールしてしまうケースである。

例えば次のような開発環境を使っている場合は特に注意が必要だ。

・VS Code
・PyCharm
・仮想環境(venv)
・Anaconda

これらの環境では、IDEが独自のPython環境を使用していることがある。そのため、グローバルPythonにパッケージをインストールしてもIDE内では認識されないことがある。

仮想環境を使用している場合は、環境をアクティベートしてからパッケージをインストールする必要がある。

よくある原因2:import文が間違っている

意外と見落とされがちなのが、import文の書き方のミスである。

mysql-connector-pythonを使用する場合、正しいインポート方法は次の形式になる。

import mysql.connector

もしスクリプト内で「import mysql」とだけ書いていると、Pythonはその名前のモジュールを見つけることができずエラーが発生する。

この違いは小さいが、エラーの原因として非常に多いポイントなので確認しておきたい。

mysql-connector以外のMySQLライブラリ

PythonでMySQLを扱うためのライブラリはmysql-connectorだけではない。用途や開発環境によっては別のライブラリを使うケースもある。

代表的なものには次のようなものがある。

・PyMySQL
・mysqlclient

これらのライブラリを使用する場合は、それぞれ対応するパッケージをインストールし、適切なimport文を使用する必要がある。

例えばPyMySQLの場合は「pymysql」をインポートし、mysqlclientの場合は「MySQLdb」を使用する。

WindowsでMySQL接続トラブルを防ぐベストプラクティス

PythonとMySQLを安定して運用するためには、開発環境を整理することが重要である。

まず、プロジェクトごとに仮想環境を作成し、その環境内に必要なパッケージをインストールする習慣をつけるとトラブルが減る。また、IDEのPythonインタプリタ設定を確認して、どのPythonが使用されているか常に把握しておくことも重要だ。

さらに、パッケージのインストール状況を定期的に確認することで、環境の不整合を防ぐことができる。

まとめ

Pythonで「No module named mysql」というエラーが発生する原因のほとんどは、MySQLコネクタがインストールされていない、または使用しているPython環境と異なる場所にインストールされていることにある。

解決のポイントは以下の通りだ。

・実行しているPython環境を確認する
・mysql-connector-pythonをインストールする
・正しいimport文を使用する
・仮想環境を使っている場合は環境内でインストールする

これらを順番に確認することで、ほとんどのケースでエラーを解消できる。PythonとMySQLの連携はデータ処理やWeb開発で非常に重要な技術の一つだ。環境トラブルを素早く解決し、安定した開発環境を整えていこう。




以上の内容はhttps://error-daizenn.hatenablog.com/entry/2026/03/05/222634より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14