Estou usando o googleAppEngineLauncher para tentar a conexão mysql.
Dá o 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
Eu fizpip install MySQL-python
Até comandos como python manage.py dbshell
funcionam e me conectam ao back-end do cloudsql.
Posso acessar todas as tabelas lá.
Mas, executá-lo dá o mesmo erro.
Eu tenho o mysql 5.6 instalado.
Adicionando o seguinte ao app.yaml
- name: MySQLdb
version: "latest"
também não ajuda, pois verifiquei o diretório de bibliotecas e não havia mysqldb.
Minhas configurações -
import os
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'HOST': '173.194.xxx.xxx',
'NAME': 'my_database',
'USER': 'root',
'PASSWORD': 'xxxxxxxx',
}
}
Responder1
Se você instalou o MySQL-Python via pip, provavelmente falhou na construção da extensão '_mysql', que é a extensão C e requer MSVC++ 9.0 para construir:
building '_mysql' extension
error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat). Get it from http://aka.ms/vcpython27
No Windows, sua melhor solução é apenas usar um instalador binário para MySQL-python, comohttp://sourceforge.net/projects/mysql-python. Você pode baixar o compilador MSVC++ para Python se desejar, mas também precisará instalar a compilação do desenvolvedor MySQL, incluindo os cabeçalhos e bibliotecas C, e poderá ter outros problemas.
É claro que isso só importa para a execução local do aplicativo no servidor de desenvolvimento, pois o ambiente de execução Python do App Engine já inclui MySQLdb no ambiente remoto onde você implanta seu aplicativo.
Responder2
Se você é como eu e está usando um servidor Ubuntu com Python 3.5, passei algumas horas angustiantes tentando resolver este. O servidor Apache não iniciava usando a configuração do wsgi que eu estava usando no meu virtualenv.
Então eu tentei de tudo, pip install this e pip install that. Então, para sua informação, para Python 3.5, você precisa ter a biblioteca pip mysqlclient instalada para conectar-se ao mysql através de python e django. Porém continuei recebendo o mesmo erro que você estava... No final o que fiz foi rodar:
easy_install mysqlclient
simples assim, acredito que estava faltando alguma dependência que o easy_install obteve e instalou de uma só vez.
Boa sorte, espero que ajude você ou outra pessoa que encontrou esta página procurando luz no fim do túnel.