Estoy usando googleAppEngineLauncher para probar la conexión MySQL.
le da el registro
File "/Users/kakshilshah/Desktop/hope/skeduleBackend/django/utils/importlib.py", line 40, in import_module
__import__(name)
File "/Users/kakshilshah/Desktop/hope/skeduleBackend/django/db/backends/mysql/base.py", line 17, in <module>
raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
ImproperlyConfigured: Error loading MySQLdb module: No module named _mysql
he hechopip install MySQL-python
Incluso los comandos como python manage.py dbshell
funcionan y me conectan con el backend de cloudsql.
Puedo acceder a todas las mesas allí.
Pero al ejecutarlo se produce el mismo error.
Tengo instalado mysql 5.6.
Agregando lo siguiente a app.yaml
- name: MySQLdb
version: "latest"
Tampoco ayuda, porque verifiqué el directorio de bibliotecas y no había mysqldb.
Mi configuración -
import os
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'HOST': '173.194.xxx.xxx',
'NAME': 'my_database',
'USER': 'root',
'PASSWORD': 'xxxxxxxx',
}
}
Respuesta1
Si instaló MySQL-Python a través de pip, probablemente falló al compilar la extensión '_mysql', que es la extensión C y requiere MSVC++ 9.0 para compilarse:
building '_mysql' extension
error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat). Get it from http://aka.ms/vcpython27
En Windows, su mejor solución es simplemente usar un instalador binario para MySQL-python comohttp://sourceforge.net/projects/mysql-python. Puede descargar el compilador MSVC++ para Python si lo desea, pero también necesitará instalar la compilación para desarrolladores de MySQL, incluidos los encabezados y bibliotecas de C, y puede tener otros problemas.
Por supuesto, esto solo importa para ejecutar la aplicación localmente en el servidor de desarrollo, ya que el tiempo de ejecución de App Engine Python ya incluye MySQLdb en el entorno remoto donde implementa su aplicación.
Respuesta2
Si eres como yo y estás usando un servidor Ubuntu con Python 3.5, pasé unas horas desgarradoras tratando de resolver este problema. El servidor Apache no comenzaba a usar la configuración de wsgi que tenía en mi virtualenv.
Así que lo probé todo, pip instala esto y pip instala aquello. Entonces, para su información, para Python 3.5 necesita tener instalada la biblioteca pip mysqlclient para conectarse a mysql a través de python y django. Sin embargo, seguí recibiendo el mismo error que tú... Al final lo que hice fue ejecutar:
easy_install mysqlclient
así de simple, creo que me faltaba alguna dependencia que easy_install obtuvo e instaló de una sola vez.
Buena suerte, espero que te ayude a ti o a alguien más que encontró esta página buscando luz al final del túnel.