Het oplossen van de ModuleNotFoundError: No module named MySQLdb-fout

MySQL is een van de meest efficiënte opties om met Python te werken. De Python-module "mysqldb" stelt je in staat om je Python-applicatie te verbinden met een MySQL-database. Als deze module niet op je systeem is geïnstalleerd, krijg je de foutmelding "no module named 'mysqldb'".

ModuleNotFoundError Geen module gevonden met de naam MySQLdb

In dit artikel worden de mogelijke oorzaken en oplossingen voor de foutmelding "no module named mysqldb" besproken.

Waarom treedt deze fout op?

Een Python-module is afhankelijk van één of meerdere pakketten. Als een van de pakketten die aan "mysqldb" zijn gekoppeld niet is geïnstalleerd en u probeert de module te importeren, krijgt u de foutmelding "no module named mysqldb".

Het volgende fragment laat zien dat we proberen te importeren, maar dat er een fout is opgetreden:

"ModuleNotFoundError"-fout

Oplossing: Installeer “MySQLdb”

De MySQLdb-module is beschikbaar via PIP, een op Python gebaseerd pakketbeheerprogramma. Zorg ervoor dat PIP op uw systeem is geïnstalleerd. De volledige oplossing wordt in de volgende stappen uitgelegd:

Stap 1: Installeer PIP

PIP kan op Linux worden geïnstalleerd met behulp van de volgende commando's:

$ sudo apt install python3-pip # voor Debian- en Ubuntu-distributies $ sudo yum install python3-pip # voor CentOS7/RHEL $ sudo dnf install python3-pip # voor Fedora/CentOS8 $ sudo pacman -S python3-pip # voor Arch-distributies

Installeer python3-pip

Je moet de pakketnaam "python-pip" gebruiken om PIP op Python 2 te installeren.

Stap 2: Installeer het pakket “mysqlclient”

De MySQLdb-module is gekoppeld aan twee pakketten die geïnstalleerd moeten worden voordat de verschillende PIP-pakketten geïmporteerd kunnen worden. Het eerste pakket is mysqlclient, waarmee Python verbinding kan maken met MySQL.

De afwezigheid van dit pakket is de belangrijkste reden waarom u de module niet kunt importeren. Het pakket "mysqlclient" kan als volgt op Linux worden geïnstalleerd:

$ pip3 install mysqlclient

Commando om het MySQL-pakket te installeren

Mogelijk krijg je een foutmelding tijdens de installatie van "mysqlclient". Dit komt omdat je de benodigde software niet hebt.

De Python-ontwikkelingskit voor het toevoegen van het "mysqlclient"-pakket aan uw systeem. Deze pakketset kan worden geïnstalleerd met het volgende commando:

$ 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” en “dnf” verwijzen respectievelijk naar de op Debian/Ubuntu, CentOS/RHEL en Fedora gebaseerde distributies.

Een commando om de basisprincipes van MySQL-opbouw te installeren

Probeer na het installeren van “mysqlclient” de module te importeren. Als de fout blijft optreden, ga dan verder met de volgende stap.

Stap 3: Installeer “mysql-connector-python”

Dit pakket stelt Python in staat verbinding te maken met MySQL-databases. Het kan worden geïnstalleerd met behulp van de volgende PIP-opdracht:

$ sudo pip3 install mysql-connector-python

Commando om MySQL aan Python te koppelen

Als je PIP voor Python 2 gebruikt, vervang dan de pakketbeheerdersnaam "pip3" door "pip2".

Stap 4: De oplossing controleren

Importeer nu de eenheid met behulp van de volledige naam:

>>> import MySQLdb

Importeer MySQLdb

De schermafbeelding laat zien dat de module in de Python-omgeving is geïmporteerd.

De foutmelding "no module named mysqldb" treedt op wanneer een gebruiker een module probeert te importeren zonder de vereiste pakketten. Deze fout kan worden verholpen door het pakket "mysqlclient" op het systeem te installeren. Als de fout echter aanhoudt, installeer dan het pakket "mysql-connector-python" met PIP. Dit artikel beschrijft de oorzaak en oplossingen voor de foutmelding "MySQLdb" op Linux.

Reacties zijn gesloten.