Django + MySQL sur Mac OS 10.6.2 Snow Leopard
Il y a quelques excellentes réponses à cette question déjà, cependant, ils sont maintenant obsolètes.
J'ai été en mesure d'obtenir le module installé, mais "python manage.py runserver" échoue avec
iMac:myproject drhoden$ python manage.py runserver
Validating models...
Unhandled exception in thread started by <function inner_run at 0x10496f0>
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/core/management/commands/runserver.py", line 48, in inner_run
self.validate(display_num_errors=True)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/core/management/base.py", line 249, in validate
num_errors = get_validation_errors(s, app)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/core/management/validation.py", line 22, in get_validation_errors
from django.db import models, connection
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/db/__init__.py", line 41, in <module>
backend = load_backend(settings.DATABASE_ENGINE)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/db/__init__.py", line 17, in load_backend
return import_module('.base', 'django.db.backends.%s' % backend_name)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/db/backends/mysql/base.py", line 13, in <module>
raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: dynamic module does not define init function (init_mysql)
^CiMac:segisys drhoden$
De même, à partir de l'interface python:
iMac:myproject drhoden$ python
Python 2.6.4 (r264:75821M, Oct 27 2009, 19:48:32)
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "build/bdist.macosx-10.3-fat/egg/MySQLdb/__init__.py", line 19, in <module>
File "build/bdist.macosx-10.3-fat/egg/_mysql.py", line 7, in <module>
File "build/bdist.macosx-10.3-fat/egg/_mysql.py", line 6, in __bootstrap__
ImportError: dynamic module does not define init function (init_mysql)
>>>
De l'utilisation de MySQL-python-1.2.3c1 avec setuptools-0.6c11-py2.6.oeuf
Toute aide serait appréciée.
source d'informationauteur Daniel Rhoden
Vous devez vous connecter pour publier un commentaire.
J'ai finalement résolu mon problème, avec bien sûr, le conscient et l'inconscient de l'aide de nombreux postes, les blogs et les journaux de messagerie que j'ai lu. Je voudrais donner des liens si je pouvais me souvenir.
En un mot, j'ai réinstallé le TOUT à l'aide de MacPorts.
Après l'édition de ~/.bash_profile et de commenter toutes les modifications à ${PATH}, j'ai téléchargé le dmg pour Snow Leopard et a couru à travers son installation.
Ensuite ouvert le terminal et a couru la mise à jour automatique.
Cette deuxième partie, l'installation de Python 2.6, a pris une éternité. Mais quand il terminé, il m'a incité les suivantes:
J'ai fait les deux et ils sont allés rapide.
J'ai oublié de mentionner comment pratique "port search" de commande est. J'ai cherché 'mysql' et similaire à trouver la chose à taper après "installer". Mais j'ai procédé à la réinstallation à la fois le client et le serveur MySQL. Peut-être que je l'ai fait dans l'ordre inverse, mais le résultat final a bien fonctionné.
Donc naturellement:
J'aime la façon dont le tant de macports installations vous donner des commentaires pour savoir quoi faire ensuite. À la fin de l'installation du serveur, il a dit ce qui suit:
C'était une nouvelle installation pour moi (qui n'ai pas de local schémas). Pour être complet, et pour ma propre référence, voici la sortie de l'exécution de cette commande:
Presque terminé. Plus tôt dans mon " port de la recherche require je suis tombé sur cet intéressant de port:
py26-mysql @1.2.2 (python, devel, bases de données)
Python interface de mysql
Avec beaucoup, beaucoup d'espoir que cela me permettrait de MySQLdb paquet, je l'ai installé (et il l'a fait).
Par la suite j'ai monté le interpréteur python tenté d'import MySQLdb, la chose même, à ma manière, tout ce temps.
Un avertissement, mais Cela a fonctionné!!
Juste une chose:
Après tout cela, j'ai enfin pu monter mon projet Django et se connecter à distance à mon serveur MySQL!! Il peut ne pas avoir été nécessaire de réinstaller Django à l'aide de MacPorts, mais je n'allais pas risquer des complications.
J'ai écrit un post de blog il y a quelques mois suite à ma réussite de l'installation de MySQL sur Snow Leopard:
http://jboxer.com/2009/09/installing-mysql-on-snow-leopard/
Si vous suivez ces étapes, il devrait (théoriquement) de résoudre votre problème (qui sonne comme elle est causée par un mélange de 32 bits et 64 bits du logiciel).
En passant, je ne suis pas en train de s'auto-promouvoir ici; le texte dans le billet de blog est en fait ce que je n'ai pas posté ici, et je vais essayer d'appliquer à SEC pour plus de domaines de ma vie 🙂
Ce qui arrive quand vous avez mélangé 32 et 64 bits du logiciel.
Fondamentalement, pour Snow Leopard, vous devez installer MySQL 64 bits du paquet (qui est toujours répertorié comme 10.5, mais c'est pas un problème) , après que faire une installation facile de python-mysql à nouveau. Tout le monde doit travailler.