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”.

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:

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

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

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.

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

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

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.