Solución del error ModuleNotFoundError: No hay ningún módulo llamado MySQLdb

MySQL es una de las opciones más eficientes para trabajar con Python. El módulo de Python "mysqldb" permite conectar la aplicación Python a una base de datos MySQL. Si este módulo no está instalado en el sistema, aparecerá el error "no module named 'mysqldb'".

ModuleNotFoundError No hay ningún módulo llamado MySQLdb

Este artículo analizará las posibles causas y soluciones para corregir el error “ningún módulo llamado mysqldb”.

¿Por qué ocurre este error?

Un módulo de Python depende de uno o varios paquetes. Si uno de los paquetes asociados a "mysqldb" no está instalado e intenta importar el módulo, recibirá el error "no module named mysqldb".

El siguiente extracto muestra que estamos intentando importar pero se ha producido un error:

Error "ModuleNotFoundError"

Solución: Instalar “MySQLdb”

El módulo MySQLdb está disponible a través de PIP, un gestor de paquetes basado en Python. Asegúrese de que PIP esté instalado en su sistema. La solución completa se muestra en los siguientes pasos:

Paso 1: Instalar PIP

PIP se puede instalar en Linux utilizando el siguiente conjunto de comandos:

$ sudo apt install python3-pip # para distribuciones Debian y Ubuntu $ sudo yum install python3-pip # para CentOS7/RHEL $ sudo dnf install python3-pip # para Fedora/CentOS8 $ sudo pacman -S python3-pip # para distribuciones Arch

Instalar python3-pip

Debe utilizar el nombre del paquete “python-pip” para instalar PIP en Python2.

Paso 2: Instalar el paquete “mysqlclient”

El módulo MySQLdb está asociado a dos paquetes que deben instalarse antes de importar los distintos paquetes PIP. El primer paquete es mysqlclient, que permite que Python se conecte a MySQL.

La ausencia de este paquete es la principal razón por la que no se puede importar el módulo. El paquete "mysqlclient" se puede instalar en Linux de la siguiente manera:

$ pip3 instalar mysqlclient

Comando para instalar el paquete MySQL

Es posible que reciba un error al instalar "mysqlclient". Esto se debe a que no tiene

El kit de desarrollo de Python para incluir el paquete "mysqlclient" en su sistema. Este conjunto de paquetes se puede instalar con el comando:

$ 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” y “dnf” se refieren a las distribuciones basadas en Debian/Ubuntu, CentOS/RHEL y Fedora, respectivamente.

Un comando para instalar los fundamentos de la construcción de MySQL

Después de instalar "mysqlclient", intente importar el módulo. Si el error persiste, continúe con el siguiente paso.

Paso 3: Instalar “mysql-connector-python”

Este paquete permite que Python se conecte a bases de datos MySQL. Se puede usar el siguiente comando basado en PIP para instalarlo:

$ sudo pip3 install mysql-connector-python

Comando para vincular MySQL a Python

Si está utilizando PIP para Python2, reemplace el nombre del administrador de paquetes “pip3” por “pip2”.

Paso 4: Comprobación de la solución

Ahora, importe la unidad usando su nombre completo:

>>> importar MySQLdb

Importar MySQLdb

La captura de pantalla muestra que el módulo se ha importado al entorno de Python.

El error "ningún módulo llamado mysqldb" ocurre cuando un usuario intenta importar un módulo sin los paquetes necesarios. Este error se puede solucionar instalando el paquete "mysqlclient" en el sistema. Sin embargo, si el error persiste, instale el paquete "mysql-connector-python" mediante PIP. Esta publicación describe la causa y las soluciones para corregir el error del módulo "MySQLdb" en Linux.

Los comentarios están cerrados.