Исправление ошибки ModuleNotFoundError: No module named MySQLdb

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

ModuleNotFoundError: Модуль MySQLdb не найден.

В этой статье будут рассмотрены возможные причины и способы устранения ошибки «no module named mysqldb».

Почему возникает эта ошибка?

Модуль Python зависит либо от одного, либо от нескольких пакетов. Если один из пакетов, связанных с "mysqldb", не установлен, и вы попытаетесь импортировать модуль, вы получите ошибку "no module named mysqldb".

Следующий фрагмент показывает, что мы пытаемся импортировать данные, но произошла ошибка:

Ошибка "ModuleNotFoundError"

Решение: Установите "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

Установите python3-pip

Для установки PIP в Python2 необходимо использовать имя пакета «python-pip».

Шаг 2: Установите пакет “mysqlclient”.

Модуль MySQLdb связан с двумя пакетами, которые необходимо установить перед импортом различных пакетов PIP. Первый пакет — mysqlclient, который позволяет Python подключаться к MySQL.

Отсутствие этого пакета является основной причиной, по которой вы не можете импортировать модуль. Пакет «mysqlclient» можно установить в Linux следующим образом:

$ pip3 install mysqlclient

Команда для установки пакета MySQL

При установке "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 соответственно.

Команда для установки основных компонентов MySQL.

После установки модуля “mysqlclient” попробуйте импортировать его. Если ошибка сохраняется, перейдите к следующему шагу.

Шаг 3: Установите “mysql-connector-python”

Этот пакет позволяет Python подключаться к базам данных MySQL. Для его установки можно использовать следующую команду на основе PIP:

$ sudo pip3 install mysql-connector-python

Команда для связывания MySQL с Python

Если вы используете PIP для Python2, замените имя менеджера пакетов «pip3» на «pip2».

Шаг 4: Проверка решения

Теперь импортируйте модуль, используя его полное имя:

>>> import MySQLdb

Импорт MySQLdb

На скриншоте видно, что модуль импортирован в среду Python.

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

Комментарии закрыты.