El problema al que me enfrento al intentar conectarme a la base de datos para mysql. También he dado la configuración de la base de datos que he utilizado.
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 453, in execute_from_command_line
utility.execute()
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 272, in fetch_command
klass = load_command_class(app_name, subcommand)
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 77, in load_command_class
module = import_module('%s.management.commands.%s' % (app_name, name))
File "/home/arundhati/Desktop/test/testprac/local/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/core/management/commands/syncdb.py", line 8, in <module>
from django.core.management.sql import custom_sql_for_model, emit_post_sync_signal
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/core/management/sql.py", line 9, in <module>
from django.db import models
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/db/__init__.py", line 40, in <module>
backend = load_backend(connection.settings_dict['ENGINE'])
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/db/__init__.py", line 34, in __getattr__
return getattr(connections[DEFAULT_DB_ALIAS], item)
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/db/utils.py", line 93, in __getitem__
backend = load_backend(db['ENGINE'])
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/db/utils.py", line 27, in load_backend
return import_module('.base', backend_name)
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 17, in <module>
raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb
Configuración de base de datos:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'ar_test_db', # Or path to database file if using
# The following settings are not used with sqlite3:
'USER': '',
'PASSWORD': '',
'HOST': '', # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
'PORT': '', # Set to empty string for default.
}
}
Muchas gracias por la ayuda !!
tienes que instalar python-mysqldb - interfaz de Python para MySQL
Tratar
sudo apt-get install python-mysqldb
fuente
Si obtiene errores al intentar instalar mysqlclient con pip, es posible que no tenga la biblioteca dev de mysql. Instálelo ejecutando:
e intente nuevamente instalar mysqlclient:
fuente
pip install mysqlclient
. Me había olvidado de agregar esto a mi archivo requirements.txt, así que aunque la base de datos MySQL estaba allí y poblada, mi servidor web Django no podía interactuar con ella.Mi respuesta es similar a @ Ron-E, pero obtuve algunos errores / correcciones más, así que estoy poniendo mis pasos a continuación para Mac OSX en Mavericks y Python 2.7.6.
Instale el paquete Python mysql (si recibe un mensaje de éxito, ignore los pasos a continuación)
Cuando hice lo anterior, recibí el error "EnvironmentError: mysql_config not found" Para solucionar este problema, hice lo siguiente en la terminal:
Cuando volví a ejecutar el paso 1, aparece un nuevo error "error: el comando 'cc' falló con el estado de salida 1" Para solucionar este problema, hice lo siguiente en la terminal:
Volví a ejecutar el paso 1 y recibí el mensaje de éxito '¡Instalé correctamente mysql-python'!
fuente
-bash: export: =-Qunused-arguments': not a valid identifier
Cuando configuré el entorno de desarrollo de Django para PyCharm en Mac OS X Mountain Lion con python, mysql, la aplicación secuela pro, obtuve el mismo error que el propietario de este hilo. Sin embargo, mi respuesta para aquellos que están ejecutando python-mysqldb en Mac OS Mountain Lion x86_x64 (MySql y Python también deberían tener la misma arquitectura) y ya probaron todo como pip, etc. Para solucionar este problema, siga los siguientes pasos:
Si recibe un error como este: "Error de entorno: / usr / local / bin / mysql_config no encontrado", intente agregar la ruta como sigue: "export PATH = $ PATH: / usr / local / mysql / bin". Pero id no me ayudó y encontré otra solución. Al final de la salida del error de ejecución del comando que se ve así:
Archivo "/path_to_file/MySQL-python-1.2.4b4/setup_posix.py", línea 25, en mysql_config raise EnvironmentError ("% s not found"% (mysql_config.path,))
Abra setup_posix.py con vim y vaya a la línea 25 (en su caso puede ser diferente a menos que sea la misma versión).
La línea 25 debería verse así después de su edición a menos que su mysql tenga un enlace simbólico como sigue '/ usr / local / mysql / bin /':
f = popen("%s --%s" % ('/usr/local/mysql/bin/mysql_config', what))
Después de esto, recibí otro error de la siguiente manera:
django.core.exceptions.ImproperlyConfigured: Error al cargar el módulo MySQLdb: dlopen (/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so, 2) : Biblioteca no cargada: libmysqlclient.18.dylib Referencia de: /Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so Razón: imagen no encontrada
Finalmente hice lo siguiente en la consola:
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
Actualmente todo funciona bien. Así que espero que sea útil para alguien que usa Mac. :)
fuente
Falta la
mysqldb
biblioteca de Python . Utilice este comando (para Debian / Ubuntu) para instalarlo:sudo apt-get install python-mysqldb
fuente
Es porque no encontró el conector sql. tratar:
fuente
Descargue e instale Mysql-python desde aquí para el entorno de Windows. http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python .
fuente
Para las versiones de Ubuntu 16.04 y 18.04 o python 3
fuente
Si está utilizando pyhton versión 3.4 o superior. tienes que instalar
en terminal. luego instálelo
pip install mysqlclient
en su entorno virtual o donde instaló pip.fuente
He resuelto este problema en este entorno:
./settings.py
Si lo usa
'ENGINE': 'mysql.connector.django'
, instale el controlador ejecutando:Tenga en cuenta que
$ pip install mysql-python
no funcionó para mí.Tenga en cuenta que si lo usa
'ENGINE': 'django.db.backends.mysql'
, debe instalar el controlador ejecutando:$ pip install mysqlclient
Finalmente ejecuta:
$ python manage.py migrate
Si está bien, Python crea todas estas tablas de base de datos de identificación:
fuente
En Ubuntu, se recomienda utilizar el repositorio de distribuciones.
fuente
Con el mismo mensaje de error que Will, me funcionó instalar mysql primero, ya que el archivo que falta se agregará durante la instalación. Así que después
corrió sin errores.
fuente
Esto también sucedió conmigo y creo que se ha convertido en un error común no solo para los desarrolladores de Django sino también para Flask, así que la forma en que resolví este problema fue usando brew.
brew install mysql
sudo pip install mysql-python
De esta manera, se resolvieron todos los problemas y ambos marcos funcionan absolutamente bien.
PD: para aquellos que usan macports (como yo), esto puede ser un problema ya que brew funciona en un nivel diferente, mi consejo es usar brew en lugar de macports
Espero poder ser de ayuda.
fuente
Estaba teniendo el mismo problema. Lo siguiente resolvió mi problema
Ejecute pip install pymysql en su shell
Luego, edite el archivo init.py en el directorio de origen de su proyecto (lo mismo que settings.py) y luego
añadir:
importar pymysql
pymysql.install_as_MySQLdb ()
esto deberia resolver el problema.
fuente
__init__.py
?tratar:
Recomiendo usarlo en un entorno virtual.
fuente
Solo para agregar a otras respuestas, si está usando Django, es recomendable que instale mysql-python ANTES de instalar Django.
fuente
Perdí mucho tiempo en esto. Resulta que la biblioteca de base de datos predeterminada no es compatible con Python 3. Tienes que usar una diferente .
fuente
si el error se ve así
entonces intenta :
fuente
Enfrentó un problema similar. Intenté instalar
mysql-python
usando pip, pero fallé debido a errores de dependencia de gcc.La solución que funcionó para mí
Tenga en cuenta que ya tenía anaconda instalada, que no tenía dependencia de gcc.
fuente
Parece que no tienes permiso para la carpeta de Python. Tratar
sudo chown -R $USER /Library/Python/2.7
fuente
Quizás puedas probar el siguiente modo de operación:
sudo python manage.py runserver 0.0.0.0:8000
fuente