No se puede usar mysql en el motor de aplicaciones de Google. Error al cargar el módulo MySQLdb: no hay ningún módulo llamado _mysql. Estoy usando nubeSQL

No se puede usar mysql en el motor de aplicaciones de Google. Error al cargar el módulo MySQLdb: no hay ningún módulo llamado _mysql. Estoy usando nubeSQL

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 dbshellfuncionan 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.

información relacionada