Исправление ошибки ModuleNotFoundError: No module named MySQLdb
MySQL — один из наиболее эффективных вариантов для работы с Python. Модуль Python под названием "mysqldb" позволяет подключить ваше приложение Python к базе данных MySQL. Если этот модуль не установлен в вашей системе, вы увидите ошибку "no module named 'mysqldb'".

В этой статье будут рассмотрены возможные причины и способы устранения ошибки «no module named mysqldb».
Почему возникает эта ошибка?
Модуль Python зависит либо от одного, либо от нескольких пакетов. Если один из пакетов, связанных с "mysqldb", не установлен, и вы попытаетесь импортировать модуль, вы получите ошибку "no module named mysqldb".
Следующий фрагмент показывает, что мы пытаемся импортировать данные, но произошла ошибка:

Решение: Установите "MySQLdb"
Модуль MySQLdb доступен через PIP, менеджер пакетов на основе Python. Убедитесь, что 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

Для установки PIP в Python2 необходимо использовать имя пакета «python-pip».
Шаг 2: Установите пакет “mysqlclient”.
Модуль MySQLdb связан с двумя пакетами, которые необходимо установить перед импортом различных пакетов PIP. Первый пакет — mysqlclient, который позволяет Python подключаться к MySQL.
Отсутствие этого пакета является основной причиной, по которой вы не можете импортировать модуль. Пакет «mysqlclient» можно установить в Linux следующим образом:
$ pip3 install mysqlclient

При установке "mysqlclient" может возникнуть ошибка. Это связано с тем, что у вас отсутствует необходимый пакет.
Комплект разработчика Python для включения пакета "mysqlclient" в вашу систему. Этот набор пакетов можно установить с помощью команды:
$ 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 соответственно.

После установки модуля “mysqlclient” попробуйте импортировать его. Если ошибка сохраняется, перейдите к следующему шагу.
Шаг 3: Установите “mysql-connector-python”
Этот пакет позволяет Python подключаться к базам данных MySQL. Для его установки можно использовать следующую команду на основе PIP:
$ sudo pip3 install mysql-connector-python

Если вы используете PIP для Python2, замените имя менеджера пакетов «pip3» на «pip2».
Шаг 4: Проверка решения
Теперь импортируйте модуль, используя его полное имя:
>>> import MySQLdb

На скриншоте видно, что модуль импортирован в среду Python.
Ошибка «no module named mysqldb» возникает, когда пользователь пытается импортировать модуль без необходимых пакетов. Эту ошибку можно исправить, установив пакет «mysqlclient» в систему. Однако, если ошибка сохраняется, установите пакет «mysql-connector-python» с помощью PIP. В этой статье описаны причины и способы устранения ошибки модуля «MySQLdb» в Linux.
Комментарии закрыты.