Das Problem, mit dem ich beim Versuch, eine Verbindung zur Datenbank für MySQL herzustellen, konfrontiert bin. Ich habe auch die Datenbankeinstellungen angegeben, die ich verwendet habe.
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
Datenbankeinstellungen ::
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.
}
}
Vielen Dank für die Hilfe !!
Sie müssen die Python-mysqldb - Python-Schnittstelle zu MySQL installieren
Versuchen
sudo apt-get install python-mysqldb
quelle
Wenn beim Versuch, mysqlclient mit pip zu installieren, Fehler auftreten, fehlt möglicherweise die mysql dev-Bibliothek. Installieren Sie es, indem Sie Folgendes ausführen:
und versuchen Sie erneut, mysqlclient zu installieren:
quelle
pip install mysqlclient
. Ich hatte vergessen, dies zu meiner Datei "require.txt" hinzuzufügen. Obwohl die MySQL-Datenbank vorhanden und gefüllt war, konnte mein Django-Webserver nicht damit interagieren.Meine Antwort ist ähnlich wie bei @ Ron-E, aber ich habe noch ein paar Fehler / Korrekturen erhalten, daher setze ich meine Schritte unten für Mac OSX unter Mavericks und Python 2.7.6.
Installieren Sie das Python-MySQL-Paket (wenn Sie eine Erfolgsmeldung erhalten, ignorieren Sie die folgenden Schritte).
Als ich das oben genannte tat, bekam ich den Fehler "EnvironmentError: mysql_config nicht gefunden". Um dies zu beheben, habe ich das Folgende im Terminal gemacht:
Wenn ich Schritt 1 erneut durchführe, wird der neue Fehler "Fehler: Befehl 'cc' mit Exit-Status 1 fehlgeschlagen" angezeigt. Um dies zu beheben, habe ich im Terminal Folgendes ausgeführt:
Ich habe Schritt 1 erneut ausgeführt und die Erfolgsmeldung "MySQL-Python erfolgreich installiert" erhalten!
quelle
-bash: export: =-Qunused-arguments': not a valid identifier
Als ich die Django-Entwicklungsumgebung für PyCharm unter Mac OS X Mountain Lion mit Python, MySQL und Sequel Pro-Anwendung einrichtete, wurde der gleiche Fehler wie beim Eigentümer dieses Threads angezeigt. Meine Antwort für diejenigen, die python-mysqldb unter Mac OS Mountain Lion x86_x64 ausführen (MySql und Python sollten ebenfalls dieselbe Architektur haben) und bereits alles wie pip usw. ausprobiert haben. Um dieses Problem zu beheben, gehen Sie folgendermaßen vor:
Wenn Sie eine Fehlermeldung wie die folgende erhalten: "Umgebungsfehler: / usr / local / bin / mysql_config nicht gefunden", versuchen Sie, den Pfad ass wie folgt hinzuzufügen: "export PATH = $ PATH: / usr / local / mysql / bin". Aber id hat mir nicht geholfen und ich habe eine andere Lösung gefunden. Am Ende der Befehlsausführung wird eine Fehlerausgabe ausgegeben, die folgendermaßen aussieht:
Datei "/path_to_file/MySQL-python-1.2.4b4/setup_posix.py", Zeile 25, in mysql_config erhöhen EnvironmentError ("% s nicht gefunden"% (mysql_config.path,))
Öffnen Sie setup_posix.py mit vim und gehen Sie zu Zeile 25 (In Ihrem Fall kann es anders sein, es sei denn, es ist dieselbe Version).
Zeile 25 sollte nach Ihrer Bearbeitung so aussehen, es sei denn, Ihre MySQL hat einen symbolischen Link wie folgt: '/ usr / local / mysql / bin /':
f = popen("%s --%s" % ('/usr/local/mysql/bin/mysql_config', what))
Danach bekam ich einen weiteren Fehler wie folgt:
django.core.exceptions.ImproperlyConfigured: Fehler beim Laden des MySQLdb-Moduls: dlopen (/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so, 2) : Bibliothek nicht geladen: libmysqlclient.18.dylib Referenziert von: /Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so Grund: Bild nicht gefunden
Schließlich habe ich in der Konsole folgendes gemacht:
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
Derzeit funktioniert alles gut. Ich hoffe, es ist hilfreich für jemanden, der einen Mac verwendet. :) :)
quelle
Ihnen fehlt die Python-
mysqldb
Bibliothek. Verwenden Sie diesen Befehl (für Debian / Ubuntu), um es zu installieren:sudo apt-get install python-mysqldb
quelle
Laden Sie Mysql-python von hier für die Windows-Umgebung herunter und installieren Sie es. http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python .
quelle
Dies liegt daran, dass der SQL-Connector nicht gefunden wurde. Versuchen:
quelle
Für Ubuntu 16.04 und 18.04 oder Python 3 Versionen
quelle
Unter Ubuntu wird empfohlen, das Distributions-Repository zu verwenden.
quelle
Wenn Sie Pyhton Version 3.4 oder höher verwenden. Sie müssen installieren
im Terminal. Installieren
pip install mysqlclient
Sie dann auf Ihrer virtuellen Umgebung oder dort, wo Sie pip installiert haben.quelle
Ich habe dieses Problem in dieser Umgebung gelöst :
./settings.py
Wenn Sie verwenden
'ENGINE': 'mysql.connector.django'
, installieren Sie den Treiber, der Folgendes ausführt:Beachten Sie, dass
$ pip install mysql-python
das bei mir nicht funktioniert hat.Beachten Sie
'ENGINE': 'django.db.backends.mysql'
, dass Sie bei Verwendung den Treiber installieren sollten, der Folgendes ausführt:$ pip install mysqlclient
Zum Schluss ausführen:
$ python manage.py migrate
Wenn alles in Ordnung ist, erstellt Python alle diese Tabellen-ID-Datenbanken:
quelle
Mit der gleichen Fehlermeldung wie Will hat es bei mir funktioniert, zuerst MySQL zu installieren, da die fehlende Datei während der Installation hinzugefügt wird. So danach
lief ohne Fehler.
quelle
Dies geschah auch bei mir und ich glaube, dass dies nicht nur für Django-Entwickler, sondern auch für Flask ein häufiger Fehler geworden ist. Daher habe ich dieses Problem mit Brew gelöst.
brew install mysql
sudo pip install mysql-python
Auf diese Weise wurde jedes einzelne Problem gelöst und beide Frameworks funktionieren absolut einwandfrei.
PS: Für diejenigen, die Macports verwenden (wie ich selbst), kann dies ein Problem sein, da das Brauen auf einer anderen Ebene funktioniert. Mein Rat ist, das Brauen anstelle von Macports zu verwenden
Ich hoffe ich konnte hilfreich sein.
quelle
Ich hatte das gleiche Problem. Das Folgende löste mein Problem
Führen Sie pip install pymysql aus in Ihrer Shell aus
Bearbeiten Sie dann die Datei init.py in Ihrem Projektursprungsverzeichnis (wie settings.py) und dann
hinzufügen:
importiere pymysql
pymysql.install_as_MySQLdb ()
Dies sollte das Problem lösen.
quelle
__init__.py
?Versuchen:
Ich empfehle es in einer virtuellen Umgebung zu verwenden.
quelle
Wenn Sie Django verwenden, ist es ratsam, mysql-python zu installieren, bevor Sie Django installieren.
quelle
Ich habe viel Zeit damit verschwendet. Es stellt sich heraus, dass die Standarddatenbankbibliothek für Python 3 nicht unterstützt wird. Sie müssen eine andere verwenden .
quelle
wenn der Fehler so aussieht
dann versuche es :
quelle
Ähnliches Problem. Ich habe versucht,
mysql-python
mit pip zu installieren , aber es ist aufgrund von gcc-Abhängigkeitsfehlern fehlgeschlagen.Die Lösung, die für mich funktioniert hat
Bitte beachten Sie, dass ich bereits eine Anaconda installiert hatte, die keine gcc-Abhängigkeit hatte.
quelle
Sie haben anscheinend keine Berechtigung für den Python-Ordner. Versuchen
sudo chown -R $USER /Library/Python/2.7
quelle
Vielleicht können Sie die folgende Betriebsart ausprobieren:
sudo python manage.py runserver 0.0.0.0:8000
quelle