Naprawianie błędu ModuleNotFoundError: Brak modułu o nazwie MySQLdb

MySQL to jedna z najwydajniejszych opcji pracy z Pythonem. Moduł Pythona o nazwie „mysqldb” umożliwia połączenie aplikacji Python z bazą danych MySQL. Jeśli ten moduł nie jest zainstalowany w systemie, pojawi się błąd „brak modułu o nazwie „mysqldb”.

ModuleNotFoundError Brak modułu o nazwie MySQLdb

W tym artykule omówimy możliwe przyczyny i rozwiązania błędu „brak modułu o nazwie mysqldb”.

Dlaczego występuje ten błąd?

Moduł Pythona zależy od jednego lub wielu pakietów. Jeśli jeden z pakietów powiązanych z „mysqldb” nie jest zainstalowany, a spróbujesz zaimportować moduł, pojawi się błąd „brak modułu o nazwie mysqldb”.

Poniższy fragment pokazuje, że próbujemy importować, ale wystąpił błąd:

Błąd „ModuleNotFoundError”

Rozwiązanie: Zainstaluj „MySQLdb”

Moduł MySQLdb jest dostępny za pośrednictwem PIP, menedżera pakietów opartego na Pythonie. Upewnij się, że PIP jest zainstalowany w systemie. Pełne rozwiązanie przedstawiono w poniższych krokach:

Krok 1: Zainstaluj PIP

PIP można zainstalować w systemie Linux przy użyciu następującego zestawu poleceń:

$ sudo apt install python3-pip # dla dystrybucji Debian i Ubuntu $ sudo yum install python3-pip # dla dystrybucji CentOS7/RHEL $ sudo dnf install python3-pip # dla dystrybucji Fedora/CentOS8 $ sudo pacman -S python3-pip # dla dystrybucji Arch

Zainstaluj python3-pip

Aby zainstalować PIP w Pythonie2, należy użyć nazwy pakietu „python-pip”.

Krok 2: Zainstaluj pakiet „mysqlclient”

Moduł MySQLdb jest powiązany z dwoma pakietami, które muszą zostać zainstalowane przed zaimportowaniem różnych pakietów PIP. Pierwszym pakietem jest mysqlclient, który umożliwia Pythonowi połączenie się z MySQL.

Brak tego pakietu jest głównym powodem braku możliwości zaimportowania modułu. Pakiet „mysqlclient” można zainstalować w systemie Linux w następujący sposób:

$ pip3 install mysqlclient

Polecenie instalacji pakietu MySQL

Podczas instalacji „mysqlclient” może pojawić się błąd. Dzieje się tak, ponieważ nie masz

Zestaw narzędzi programistycznych Python do dołączenia pakietu „mysqlclient” do systemu. Ten zestaw pakietów można zainstalować za pomocą polecenia:

$ 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

Ogłoszenie: „apt”, „yum” i „dnf” odnoszą się odpowiednio do dystrybucji opartych na Debianie/Ubuntu, CentOS/RHEL i Fedorze.

Polecenie instalujące podstawy kompilacji MySQL

Po zainstalowaniu „mysqlclient” spróbuj zaimportować moduł. Jeśli błąd będzie się powtarzał, przejdź do następnego kroku.

Krok 3: Zainstaluj „mysql-connector-python”

Ten pakiet umożliwia Pythonowi łączenie się z bazami danych MySQL. Do jego instalacji można użyć następującego polecenia opartego na PIP:

$ sudo pip3 install mysql-connector-python

Polecenie łączące MySQL z Pythonem

Jeśli używasz PIP dla Pythona 2, zamień nazwę menedżera pakietów „pip3” na „pip2”.

Krok 4: Sprawdzanie rozwiązania

Teraz zaimportuj jednostkę używając jej pełnej nazwy:

>>> importuj MySQLdb

Importuj MySQLdb

Zrzut ekranu pokazuje, że moduł został zaimportowany do środowiska Python.

Błąd „brak modułu o nazwie mysqldb” występuje, gdy użytkownik próbuje zaimportować moduł bez wymaganych pakietów. Ten błąd można naprawić, instalując w systemie pakiet „mysqlclient”. Jeśli jednak błąd nadal występuje, należy zainstalować pakiet „mysql-connector-python” za pomocą narzędzia PIP. W tym poście opisano przyczynę i rozwiązania problemu z modułem „MySQLdb” w systemie Linux.

Możliwość dodawania komentarzy nie jest dostępna.