Erste Schritte mit Django Teil 3 über Python3 und MySQL Connector

* Dieser Artikel ist ein ungelöster Artikel.

Entwicklungsumgebung

PC: MacOS X 10.9.4 Python3.4.1 Django1.6.6

Phänomen, dass die DB-Einstellung nicht wiedergegeben wird

Vorheriger Artikel Ich dachte, dass die Projekterstellung erfolgreich war, aber ich bemerkte, dass die folgenden "Eclipse" -Datenbankeinstellungen nicht wiedergegeben wurden. ..

スクリーンショット 2014-09-02 14.46.18.png

Ich habe mit der Datenbank synchronisiert ($ python3 manage.py syncdb), aber es wird nicht in der Zieldatenbank "MySQL" angezeigt. Wenn ich die Beschreibung der DB-Einstellung in settings.py überprüfe, ist dies die Einstellung von sqlite3. Also habe ich die Einstellungen für mySQL direkt auskommentiert und geschrieben.

setting.py


DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'django_db',
        'USER':'db_user',
        'PASSWORD':'xxxxxxx',
        'HOST':'localhost',
        'PORT':'3306',
    }
}
#DATABASES = {
#    'default': {
#        'ENGINE': 'django.db.backends.sqlite3',
#        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
#    }
#}

Häufige MySQL-Modulfehler

Bei der erneuten Synchronisierung ($ python3 manage.py syncdb) trat jedoch der folgende Fehler auf.

ImportError: No module named 'MySQLdb'

Anscheinend kann ich das MySQL-Modul nicht finden. Also habe ich versucht, das MySQL-Modul zu installieren.

$ pip3 install mysql-python

Diesmal jedoch der folgende Fehler.

ImportError: No module named 'ConfigParser'

Dieses Mal habe ich versucht, es unten zu installieren.

$ pip3 install mysql-connector-python --allow-external mysql-connector-python

Diesmal scheint die Installation selbst funktioniert zu haben. Der Fehler bleibt jedoch weiterhin bestehen.

ImportError: No module named 'MySQLdb'

Installieren Sie MySQL-for-Python-3

Ich habe nicht aufgegeben und das neueste "MySQL-for-Python-3" auf Github gefunden, also habe ich versucht, es zu installieren.

pip3 install --user https://github.com/davispuh/MySQL-for-Python-3/archive/1.0.tar.gz

Die Installation selbst scheint gut gelaufen zu sein. Es folgt jedoch ein weiterer Fehler.

Library not loaded: libmysqlclient.18.dylib

Also habe ich einen symbolischen Link für "libmysqlclient.18.dylib" in "/ usr / lib" erstellt, der sich in der "MySQL" -Bibliothek befinden würde.

$ sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

Zusatzinformationen

Wenn ich danach das Django Official Manual lese, folgt die folgende Beschreibung.

Python 3 At the time of writing, the latest release of MySQLdb (1.2.4) doesn’t support Python 3. In order to use MySQL under Python 3, you’ll have to install an unofficial fork, such as MySQL-for-Python-3. This port is still in alpha. In particular, it doesn’t support binary data, making it impossible to use django.db.models.BinaryField.

Einfach ausgedrückt,

Python3 Zum Zeitpunkt des Schreibens unterstützt die neueste Version von MySQLdb (1.2.4) Python 3 nicht. Wenn Sie MySQL verwenden, sollten Sie eine inoffizielle Fork-Version wie MySQL-for-Python-3 installieren. Dieser Port ist immer noch eine Alpha-Version, insbesondere weil er keine Binärdaten unterstützt, sodass django.db.modules.BinaryField ebenfalls nicht verfügbar ist.

Hmmm ~.

Als Fortschritt

Soweit ich im Web und im Handbuch nachsehen kann, scheint es, dass MySQLdb derzeit Python3 nicht unterstützt (Ende August 2014).

Wie sollen wir also aufgeben? Da ich ein Anfänger von Python bin, kann ich mir das Release-Intervall nicht vorstellen (wie lange sollte ich warten, bis es unterstützt wird).

  1. Ändern Sie die Datenbank (MySQL → andere Datenbank)
  2. Ändern Sie die Python-Version (3.4 → 3.1)
  3. Hör auf, Python / Django zu lernen

Übrigens war ich vor ein oder zwei Jahren sogar in Ruby on Rails süchtig nach dem MySQL-Connector.

Schließlich habe ich das Gefühl, dass es für Python-Anfänger kein Problem ist, den Kopf zu stecken. Ich bin enttäuscht, bitte geben Sie mir einige Ratschläge und Vorschläge.

Recommended Posts

Erste Schritte mit Django Teil 3 über Python3 und MySQL Connector
Erste Schritte mit Python Django (1)
Erste Schritte mit Django: 4_MySQL-Integration
Erste Schritte mit Python Django (4)
Erste Schritte mit Python Django (3)
Einführung in Python Django (6)
Erste Schritte mit Python Django (5)
Django 1.11 wurde mit Python3.6 gestartet
1.1 Erste Schritte mit Python
Erste Schritte mit Python
Django Erste Schritte Teil 2 mit dem Eclipse Plugin (PyDev)
Erste Schritte mit Python
Erste Schritte mit Django 2
Erste Schritte mit Python3 # 2 Erfahren Sie mehr über Typen und Variablen
Einführung in Python-Funktionen
Django Erste Schritte: 2_ Erstellen eines Projekts
Erste Schritte mit Django: 3_Apache-Integration
Erste Schritte mit Django mit PyCharm
Erste Schritte mit Python Responder v2
Erste Schritte mit Python-Webanwendungen
Erste Schritte mit Python für PHPer-Klassen
Erste Schritte mit Python Grundlagen von Python
Erste Schritte mit genetischen Python-Algorithmen
Erste Schritte mit Python für PHPer-Funktionen
Erste Schritte mit Heroku-Viewing Hello World in Python Django mit Raspberry PI 3
Erste Schritte mit Python3 # 1 Grundkenntnisse erlernen
Erste Schritte mit Python Web Scraping Practice
Erste Schritte mit Python für PHPer-Super Basics
Erste Schritte mit Python Web Scraping Practice
Erste Schritte mit Dynamo von Python Boto
Python Basic Memorandum Teil 3 - Informationen zur Objektorientierung
Erste Schritte mit Python mit 100 Klopfen bei der Sprachverarbeitung
[Übersetzung] Erste Schritte mit Rust für Python-Programmierer
DICOM-Bilder mit Python Part 2 entfernen
Erste Schritte mit AWS IoT in Python
Materialien zum Lesen, wenn Sie mit Python beginnen
[Cloud102] # 1 Erste Schritte mit Python (Teil 1 Python Erste Schritte)
Einstellungen für den Einstieg in MongoDB mit Python
Über Python-Slices
QGIS + Python Teil 2
Über die Einschlussnotation von Python
Django startete Teil 1
Python Django Tutorial (5)
Python Django Tutorial (2)
Über Python tqdm.
Über die Python-Ausbeute
Über Python, Klasse
QGIS + Python Teil 1
Ich habe Python gestartet
Django startete Teil 4
Informationen zur Python-Vererbung
Python Django Tutorial (8)
Über Python, range ()
Python Django Tutorial (6)
Über Python Decorator
Python: Scraping Teil 1
Django + MySQL-Einstellungen
Python Django Tutorial (7)
Informationen zur Python-Referenz