ModuleNotFoundError: No module named MySQLdb エラーの修正

MySQLは、Pythonで作業するための最も効率的な選択肢の一つです。「mysqldb」というPythonモジュールを使用すると、PythonアプリケーションをMySQLデータベースに接続できます。このモジュールがシステムにインストールされていない場合、「no module named 'mysqldb'」というエラーが表示されます。

ModuleNotFoundError MySQLdbという名前のモジュールがありません

この記事では、「mysqldb という名前のモジュールがありません」というエラーを修正するための考えられる原因と解決策について説明します。

このエラーはなぜ発生するのでしょうか?

Pythonモジュールは、単一のパッケージまたは複数のパッケージに依存します。「mysqldb」に関連付けられたパッケージのいずれかがインストールされていない場合、モジュールをインポートしようとすると、「mysqldbという名前のモジュールがありません」というエラーが表示されます。

次の抜粋は、インポートを試みているがエラーが発生したことを示しています。

「ModuleNotFoundError」エラー

解決策:「MySQLdb」をインストールする

MySQLdbモジュールは、PythonベースのパッケージマネージャーであるPIPから入手できます。システムにPIPがインストールされていることを確認してください。完全な解決策は以下の手順で示します。

ステップ1: PIPをインストールする

PIP は、次のコマンドセットを使用して Linux にインストールできます。

$ sudo apt install python3-pip # Debian および Ubuntu ディストリビューションの場合 $ sudo yum install python3-pip # CentOS7/RHEL の場合 $ sudo dnf install python3-pip # Fedora/CentOS8 の場合 $ sudo pacman -S python3-pip # Arch ディストリビューションの場合

python3-pipをインストールする

Python2にPIPをインストールするには、パッケージ名「python-pip」を使用する必要があります。

ステップ2:「mysqlclient」パッケージをインストールする

MySQLdbモジュールは、様々なPIPパッケージをインポートする前にインストールする必要がある2つのパッケージに関連付けられています。1つ目のパッケージはmysqlclientで、PythonからMySQLへの接続を可能にします。

このパッケージが存在しないことが、モジュールをインポートできない主な理由です。「mysqlclient」パッケージは、Linuxでは以下の手順でインストールできます。

$ pip3 で mysqlclient をインストール

MySQLパッケージをインストールするコマンド

「mysqlclient」のインストール中にエラーが表示される場合があります。これは、

「mysqlclient」パッケージをシステムに組み込むためのPython開発キットです。このパッケージセットは、以下のコマンドでインストールできます。

$ sudo apt install python3-dev default-libmysqlclient-dev build-essential $ sudo yum install python3-dev default-libmysqlclient-dev build-essential $ sudo dnf install python3-dev default-libmysqlclient-dev build-essential

ملاحظة: 「apt」、「yum」、「dnf」はそれぞれ、Debian/Ubuntu、CentOS/RHEL、Fedora ベースのディストリビューションを指します。

MySQL構築の基礎をインストールするコマンド

「mysqlclient」をインストールしたら、モジュールをインポートしてみてください。エラーが解決しない場合は、次の手順に進んでください。

ステップ3:「mysql-connector-python」をインストールする

このパッケージは、PythonからMySQLデータベースへの接続を可能にします。インストールには、以下のPIPベースのコマンドを使用します。

$ sudo pip3 で mysql-connector-python をインストールします

MySQLをPythonにリンクするコマンド

Python2 で PIP を使用している場合は、パッケージ マネージャー名「pip3」を「pip2」に置き換えます。

ステップ4: 解決策の確認

次に、完全な名前を使用してユニットをインポートします。

>>> MySQLdbをインポートする

MySQLdbをインポートする

スクリーンショットは、モジュールが Python 環境にインポートされたことを示しています。

「no module named mysqldb」というエラーは、必要なパッケージがないモジュールをインポートしようとしたときに発生します。このエラーは、「mysqlclient」パッケージをシステムにインストールすることで修正できます。それでもエラーが解決しない場合は、PIPを使用して「mysql-connector-python」パッケージをインストールしてください。この記事では、Linuxで「MySQLdb」モジュールエラーが発生する原因と解決策について説明します。

コメントは締め切りました。