Aparece el mensaje “Error al cargar el módulo MySQLdb: no hay un módulo llamado MySQLdb”.

Este es un tema muy discutido para los usuarios de OSX 10.6, pero no he podido encontrar una solución que funcione. Aquí está mi configuración:

Python 2.6.1 64bit Django 1.2.1 MySQL 5.1.47 osx10.6 64bit

Creo un virtualenvwrapper con –no-site-packages, luego instalé Django. Cuando activo el virtualenv y ejecuto python manage.py syncdb, recibo este error:

Traceback (most recent call last): File "manage.py", line 11, in  execute_manager(settings) File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", line 438, in execute_manager utility.execute() File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", line 379, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", line 257, in fetch_command klass = load_command_class(app_name, subcommand) File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", line 67, in load_command_class module = import_module('%s.management.commands.%s' % (app_name, name)) File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module __import__(name) File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/commands/syncdb.py", line 7, in  from django.core.management.sql import custom_sql_for_model, emit_post_sync_signal File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/sql.py", line 5, in  from django.contrib.contenttypes import generic File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/contrib/contenttypes/generic.py", line 6, in  from django.db import connection File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/db/__init__.py", line 75, in  connection = connections[DEFAULT_DB_ALIAS] File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/db/utils.py", line 91, in __getitem__ backend = load_backend(db['ENGINE']) File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/db/utils.py", line 32, in load_backend return import_module('.base', backend_name) File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module __import__(name) File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/db/backends/mysql/base.py", line 14, in  raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e) django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb 

También instalé el adaptador de MySQL para Python , pero fue en vano (¿quizás lo instalé de forma incorrecta?).

¿Alguien ha tratado con esto antes?

Tuve el mismo error y pip install MySQL-python resolvió por mí.

Instalaciones alternativas:

  • Si no tiene pip, easy_install MySQL-python debería funcionar.
  • Si su python está gestionado por un sistema de empaquetado, es posible que tenga que usar ese sistema (por ejemplo, sudo apt-get install ... )

A continuación, Soli señala que si recibe el siguiente error:

EnvironmentError: mysql_config not found

… entonces tienes otro problema de dependencia del sistema. Resolver esto variará de un sistema a otro, pero para los sistemas derivados de Debian:

sudo apt-get install python-mysqldb

Ejecutando Ubuntu, tenía que hacer:

 sudo apt-get install python-mysqldb 

Agregando a otras respuestas, lo siguiente me ayudó a terminar la instalación mysql-python:

virtualenv, mysql-python, pip: ¿alguien sabe cómo?

En Ubuntu …

 apt-get install libmysqlclient-dev apt-get install python-dev pip install mysql-python 

No olvide agregar ‘sudo’ al comienzo de los comandos si no tiene los permisos adecuados.

Prueba esto con los comandos de abajo. Trabajan para mi

 brew install mysql-connector-c pip install MySQL-python 

mysql_config debe estar en la ruta. En mac, hacer

 export PATH=$PATH:/usr/local/mysql/bin/ pip install MySQL-python 
 pip install mysql-python 

levantó un error:

EnvironmentError: mysql_config no encontrado

 sudo apt-get install python-mysqldb 

arreglado el problema

Cómo lo conseguí trabajando:

 virtualenv -p python3.5 env/test 

Después de abastecer mi env:

 pip install pymysql pip install django 

Luego, ejecuté el startproject y dentro de manage.py, agregué esto:

 + try: + import pymysql + pymysql.install_as_MySQLdb() + except: + pass 

Además, actualizó esta configuración interior:

 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'foobar_db', 'USER': 'foobaruser', 'PASSWORD': 'foobarpwd', } } 

También tengo instalado configparser==3.5.0 en mi virtualenv, no estoy seguro de si eso fue necesario o no …

Espero eso ayude,

Lo siguiente funcionó perfectamente para mí, ejecutando Ubuntu 13.10 de 64 bits:

 sudo apt-get install libmysqlclient-dev sudo apt-get install python-dev 

Ahora, navegue a su virtualenv (como la carpeta env) y ejecute lo siguiente:

 sudo ./bin/pip install mysql-python 

De hecho, encontré la solución en otra pregunta y la cito a continuación:

Si ha creado el virtualenv con el conmutador –no-site-packages (el predeterminado), las adiciones instaladas en todo el sistema, como MySQLdb, no se incluyen en los paquetes de entorno virtual.

Debe instalar MySQLdb con el comando pip instalado con virtualenv. Active el virtualenv con el script bin / activar, o use bin / pip desde el virtualenv para instalar la biblioteca MySQLdb también localmente.

Alternativamente, cree un nuevo virtualenv con los paquetes de sitio del sistema incluidos usando el interruptor –system-site-package.

Creo que esto también debería funcionar con OSX. El único problema sería obtener un comando equivalente para instalar libmysqlclient-dev y python-dev ya que son necesarios para comstackr mysql-python , supongo.

Espero que esto ayude.

Intenta esto: Esto solucionó el problema para mí.

pip instalar MySQL-python

Este problema fue el resultado de una instalación incompleta / incorrecta del adaptador de MySQL para Python. Específicamente, tuve que editar la ruta al archivo mysql_config para que apunte a / usr / local / mysql / bin / mysql_config, que se explica con mayor detalle en este artículo: http://dakrauth.com/blog/entry/python-and- django-setup-mac-os-x-leopard /

sudo apt-get install python-mysqldb funciona perfectamente en ubuntu

pip install mysql-python genera un error de entorno

Esto funcionó para la versión 6.4 de Red Hat Enterprise Linux Server.

 sudo yum install mysql-devel sudo yum install python-devel pip install mysql-python 

Puedes instalar como pip install mysqlclient

Realicé la actualización a OSX Mavericks y Pycharm 3 y comencé a recibir este error, usé pip y easy install y obtuve el error:

el comando ‘/ usr / bin / clang’ falló con el estado de salida 1.

Así que necesito actualizar a Xcode 5 e intenté instalar de nuevo usando pip.

 pip install mysql-python 

Eso arregla todos los problemas.

El error planteado aquí está en la importación del módulo de python. Esto se puede resolver agregando la carpeta de paquetes de sitios de Python a la variable de entorno $ PYTHONPATH en OS X. Por lo tanto, podemos agregar el siguiente comando al archivo .bash_profile:

 export PYTHONPATH="$PYTHONPATH:/usr/local/lib/pythonx.x/site-packages/" 

* Reemplaza xx con la versión de python que estás usando

Si está usando python3, intente esto (Mi sistema operativo es Ubuntu 16.04):

 sudo apt-get install python3-mysqldb 

pip no funcionó para mí en el sistema de Windows 8 64 bits. easy_install mysql-python funciona para mí. Puede usar easy_install para evitar la creación de binarios en Windows si pip no funciona.

Tuve el mismo problema en OSX 10.6.6. Pero solo un simple easy_install mysql-python en la terminal no lo resolvió, ya que se produjo otro problema:

error: command 'gcc-4.2' failed with exit status 1 .

Aparentemente, este problema surge después de actualizar de XCode3 (que se envía de forma nativa con OSX 10.6) a XCode4. Esta versión más reciente elimina el soporte para construir el arco ppc. Si es el mismo caso, intente hacer lo siguiente antes de easy_install mysql-python

 sudo bash export ARCHFLAGS='-arch i386 -arch x86_64' rm -r build python setup.py build python setup.py install 

Muchas gracias a Ned Deily por esta solución. Chequea aquí

Para mí, el problema se resolvió simplemente reinstalando mysql-python

 pip uninstall mysql-python pip install mysql-python 

Instalar herramientas de línea de comandos funciona para mí:

 xcode-select --install 

Superé el mismo problema instalando la biblioteca MySQL-python usando pip . Puede ver el mensaje que se muestra en mi consola la primera vez que cambié la configuración de mi base de datos en settings.py y ejecuté el comando makemigrations (la solución está siguiendo el mensaje de abajo, solo vea eso).

  (vir_env) admins-MacBook-Pro-3:src admin$ python manage.py makemigrations Traceback (most recent call last): File "manage.py", line 10, in  execute_from_command_line(sys.argv) File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line utility.execute() File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/core/management/__init__.py", line 312, in execute django.setup() File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/__init__.py", line 18, in setup apps.populate(settings.INSTALLED_APPS) File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate app_config.import_models(all_models) File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/apps/config.py", line 198, in import_models self.models_module = import_module(models_module_name) File "/usr/local/Cellar/python/2.7.12_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module __import__(name) File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/contrib/auth/models.py", line 41, in  class Permission(models.Model): File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/db/models/base.py", line 139, in __new__ new_class.add_to_class('_meta', Options(meta, **kwargs)) File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/db/models/base.py", line 324, in add_to_class value.contribute_to_class(cls, name) File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/db/models/options.py", line 250, in contribute_to_class self.db_table = truncate_name(self.db_table, connection.ops.max_name_length()) File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/db/__init__.py", line 36, in __getattr__ return getattr(connections[DEFAULT_DB_ALIAS], item) File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/db/utils.py", line 240, in __getitem__ backend = load_backend(db['ENGINE']) File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/db/utils.py", line 111, in load_backend return import_module('%s.base' % backend_name) File "/usr/local/Cellar/python/2.7.12_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module __import__(name) File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 27, in  raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e) django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb 

Finalmente superé este problema de la siguiente manera:

 (vir_env) admins-MacBook-Pro-3:src admin$ pip install MySQLdb Collecting MySQLdb Could not find a version that satisfies the requirement MySQLdb (from versions: ) No matching distribution found for MySQLdb (vir_env) admins-MacBook-Pro-3:src admin$ pip install MySQL-python Collecting MySQL-python Downloading MySQL-python-1.2.5.zip (108kB) 100% |████████████████████████████████| 112kB 364kB/s Building wheels for collected packages: MySQL-python Running setup.py bdist_wheel for MySQL-python ... done Stored in directory: /Users/admin/Library/Caches/pip/wheels/38/a3/89/ec87e092cfb38450fc91a62562055231deb0049a029054dc62 Successfully built MySQL-python Installing collected packages: MySQL-python Successfully installed MySQL-python-1.2.5 (vir_env) admins-MacBook-Pro-3:src admin$ python manage.py makemigrations No changes detected (vir_env) admins-MacBook-Pro-3:src admin$ python manage.py migrate Operations to perform: Synchronize unmigrated apps: staticfiles, rest_framework, messages, crispy_forms Apply all migrations: admin, contenttypes, sessions, auth, PyApp Synchronizing apps without migrations: Creating tables... Running deferred SQL... Installing custom SQL... Running migrations: Rendering model states... DONE Applying PyApp.0001_initial... OK Applying PyApp.0002_auto_20170310_0936... OK Applying PyApp.0003_auto_20170310_0953... OK Applying PyApp.0004_auto_20170310_0954... OK Applying PyApp.0005_auto_20170311_0619... OK Applying PyApp.0006_auto_20170311_0622... OK Applying PyApp.0007_loraevksensor... OK Applying PyApp.0008_auto_20170315_0752... OK Applying PyApp.0009_auto_20170315_0753... OK Applying PyApp.0010_auto_20170315_0806... OK Applying PyApp.0011_auto_20170315_0814... OK Applying PyApp.0012_auto_20170315_0820... OK Applying PyApp.0013_auto_20170315_0822... OK Applying PyApp.0014_auto_20170315_0907... OK Applying PyApp.0015_auto_20170315_1041... OK Applying PyApp.0016_auto_20170315_1355... OK Applying PyApp.0017_auto_20170315_1401... OK Applying PyApp.0018_auto_20170331_1348... OK Applying PyApp.0019_auto_20170331_1349... OK Applying PyApp.0020_auto_20170331_1350... OK Applying PyApp.0021_auto_20170331_1458... OK Applying PyApp.0022_delete_postoffice... OK Applying PyApp.0023_posoffice... OK Applying PyApp.0024_auto_20170331_1504... OK Applying PyApp.0025_auto_20170331_1511... OK Applying contenttypes.0001_initial... OK Applying auth.0001_initial... OK Applying admin.0001_initial... OK Applying contenttypes.0002_remove_content_type_name... OK Applying auth.0002_alter_permission_name_max_length... OK Applying auth.0003_alter_user_email_max_length... OK Applying auth.0004_alter_user_username_opts... OK Applying auth.0005_alter_user_last_login_null... OK Applying auth.0006_require_contenttypes_0002... OK Applying sessions.0001_initial... OK (vir_env) admins-MacBook-Pro-3:src admin$ 

Ejecutar este comando

 sudo pip install mysql-python; 

Ahora puedes ejecutar tu comando.

 python manage.py startapp filename; 

Me encontré con situaciones similares como la tuya que estoy usando python3.7 y django 2.1 en virtualenv en mac osx. Intenta ejecutar el comando:

 pip install mysql-python pip install pymysql 

Y edite el archivo __init__.py en la carpeta de su proyecto y agregue lo siguiente:

 import pymysql pymysql.install_as_MySQLdb() 

Luego ejecute: python3 manage.py runserver o python manage.py runserver