Ok, also ich hatte genau das gleiche Problem. Es gibt viele Vorschläge, wie Sie einen Teil bestehender Bibliotheken ändern können, damit Python3 mit MySQL funktioniert, aber ich habe keine gefunden, die zu 100% funktioniert. Ich war nicht in der Lage, den offiziellen MySQL-Python-Connector für die Arbeit mit Django und Python 3.3 zu erstellen.
Was funktionierte, war stattdessen der Wechsel zur PyMySQL-Bibliothek. Vor ein paar Monaten habe ich es schon probiert, aber damals hat es bei mir nicht funktioniert. Jetzt gibt es eine neue Version, 0.6.1, die sofort einsatzbereit war. Also, noch ein paar Details:
Meine Umgebung:OSX 10.9 , Python 3.3.3, Django 1.6.1, MyPySQL 0.6.1, MySQL Server 5.5 unter Windows
So funktioniert es:
-
Installieren Sie die PyMySQL-Version 0.6.1 (https://github.com/PyMySQL/PyMySQL/ ). ):Sie können es entweder mit pip installieren, d. h.:
pip install PyMySQL
oder indem Sie das Paket manuell herunterladen; Es gibt eine gute Dokumentation auf ihrer Website, wie man das macht. -
Öffnen Sie Ihre Django-App __init__.py und fügen Sie die folgenden Zeilen ein:
import pymysql pymysql.install_as_MySQLdb()
-
Öffnen Sie nun settings.py und stellen Sie sicher, dass Ihre DATABASE-Eigenschaft so aussieht:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'mydb', 'USER': 'dbuser', 'PASSWORD': 'dbpassword', 'HOST': 'dbhost', 'PORT': '3306' } }
-
Das war's, Sie sollten in der Lage sein,
python manage.py syncdb
auszuführen so initieren Sie Ihre MySQL DB; siehe Beispielausgabe unten:Creating tables ... Creating table django_admin_log Creating table auth_permission Creating table auth_group_permissions ... ... Creating table socialaccount_socialtoken You just installed Django's auth system, which means you don't have any superusers defined. ...