PC: MacOS X 10.9.4 Python3.4.1 Django1.6.6
Article précédent Je pensais que la création du projet était réussie, mais j'ai remarqué que les paramètres de la base de données ʻEclipse` suivants n'étaient pas reflétés. ..
J'ai synchronisé avec la base de données ($ python3 manage.py syncdb
), mais cela n'est pas reflété dans la base de données MySQL
cible. Lorsque je vérifie la description du paramètre DB dans setting.py
, c'est le paramètre de sqlite3
. J'ai donc commenté et écrit les paramètres de mySQL
directement.
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'),
# }
#}
Cependant, lorsque j'ai synchronisé à nouveau ($ python3 manage.py syncdb
), l'erreur suivante s'est produite.
ImportError: No module named 'MySQLdb'
Apparemment, je ne trouve pas le module MySQL
. J'ai donc essayé d'installer le module MySQL
.
$ pip3 install mysql-python
Cependant, cette fois, l'erreur suivante.
ImportError: No module named 'ConfigParser'
Cette fois, j'ai essayé de l'installer ci-dessous.
$ pip3 install mysql-connector-python --allow-external mysql-connector-python
Cette fois, l'installation elle-même semble avoir fonctionné. Cependant, l'erreur persiste.
ImportError: No module named 'MySQLdb'
Je n'ai pas abandonné et j'ai trouvé le dernier MySQL-for-Python-3
sur Github, alors j'ai essayé de l'installer.
pip3 install --user https://github.com/davispuh/MySQL-for-Python-3/archive/1.0.tar.gz
L'installation elle-même semble s'être bien déroulée. Mais une autre erreur s'ensuit.
Library not loaded: libmysqlclient.18.dylib
J'ai donc créé un lien symbolique pour libmysqlclient.18.dylib
dans / usr / lib
, qui serait dans la bibliothèque MySQL
.
$ sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
Après cela, quand j'ai lu le Manuel officiel de Django, la description suivante.
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.
Mettre tout simplement,
Python3 Au moment de la rédaction de cet article, la dernière version de MySQLdb (1.2.4) ne prend pas en charge Python 3. Si vous utilisez MySQL, vous devez installer une version de fork non officielle comme MySQL-for-Python-3. Ce port est toujours une version alpha, notamment parce qu'il ne prend pas en charge les données binaires, donc django.db.modules.BinaryField n'est pas disponible non plus.
Hmmm ~.
Apparemment, pour autant que je puisse vérifier sur le Web et dans le manuel, il semble que MySQLdb
ne supporte pas Python3
pour le moment (fin août 2014).
Alors, comment devrions-nous abandonner?
Puisque je suis un débutant de Python
, je ne peux pas avoir une idée de l'intervalle de publication (combien de temps je devrais attendre qu'il soit pris en charge).
Au fait, j'étais accro au connecteur MySQL
même dans Ruby on Rails
il y a un an ou deux.
Après tout, je pense que ce n'est pas un problème pour les débutants de Python
de se piquer la tête. Je suis déçu, alors donnez-moi quelques conseils et suggestions.
Recommended Posts