django.core.Ausnahmen.ImproperlyConfigured: Fehler beim MySQLdb-Modul:
Ich bin nach dem django-tutorial, Viele haben die Frage gestellt, aber ich denke meine situation ist etwas einzigartiges, denn nach der Installation von python-mysql ich bekomme immer noch diese Fehlermeldung, wenn ich versuche, python manage.py syncdb,
Ich bin in ein virtualenv, da ich macports für die Verwaltung meiner python-installation habe ich meine virtualenv
virtualenv code/vdjango --no-site-packages --python=/opt/local/bin/python
zuvor mit macports habe ich installiert django py27-django
, aber nach der Erstellung meiner virtualenv dachte ich, ist es besser, dass ich installieren django auf virtualenv so habe ich pip install django==1.5
Nach django tutorial habe ich bearbeitet meine settings.py Datei und führen Sie dann die python manage.py syncdb und ich am Ende folgenden Fehler:
[~/code/vdjango/newsite]$python manage.py syncdb
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/Users/mac-pro/code/vdjango/lib/python2.7/site-packages/django/core/management/__init__.py", line 453, in execute_from_command_line
utility.execute()
File "/Users/mac-pro/code/vdjango/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Users/mac-pro/code/vdjango/lib/python2.7/site-packages/django/core/management/__init__.py", line 272, in fetch_command
klass = load_command_class(app_name, subcommand)
File "/Users/mac-pro/code/vdjango/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 "/Users/mac-pro/code/vdjango/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/Users/mac-pro/code/vdjango/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 "/Users/mac-pro/code/vdjango/lib/python2.7/site-packages/django/core/management/sql.py", line 9, in <module>
from django.db import models
File "/Users/mac-pro/code/vdjango/lib/python2.7/site-packages/django/db/__init__.py", line 40, in <module>
backend = load_backend(connection.settings_dict['ENGINE'])
File "/Users/mac-pro/code/vdjango/lib/python2.7/site-packages/django/db/__init__.py", line 34, in __getattr__
return getattr(connections[DEFAULT_DB_ALIAS], item)
File "/Users/mac-pro/code/vdjango/lib/python2.7/site-packages/django/db/utils.py", line 93, in __getitem__
backend = load_backend(db['ENGINE'])
File "/Users/mac-pro/code/vdjango/lib/python2.7/site-packages/django/db/utils.py", line 27, in load_backend
return import_module('.base', backend_name)
File "/Users/mac-pro/code/vdjango/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/Users/mac-pro/code/vdjango/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: dlopen(/Users/mac-pro/code/vdjango/lib/python2.7/site-packages/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib
Referenced from: /Users/mac-pro/code/vdjango/lib/python2.7/site-packages/_mysql.so
Reason: image not found
Bestätigen, dass ich install python-mysql-Paket, lief ich die pip erneut installieren,
(vdjango)mac-pro@localhost:[~/code/vdjango/newsite]$pip install python-mysqldb
Downloading/unpacking python-mysqldb
Could not find any downloads that satisfy the requirement python-mysqldb
No distributions at all found for python-mysqldb
Storing complete log in /Users/mac-pro/.pip/pip.log
Also was ist hier passiert? Sieht aus wie ich alles, was ich brauche, um weiter zu gehen mit dem tutorial, aber einige, wie python/django beschwert sich über die nicht mysqldb.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Meine libmysqlclient.18.dylib befindet sich in /usr/local/mysql/lib/aber mein system war auf der Suche für Sie es in /usr/lib/. Ich landete erstellen Sie einen symbolischen link von libmysqlclient.18.dylib unter /usr/lib, die das problem behoben.
1.) Stellen Sie sicher, dass libmysqlclient.18.dylib existiert in /usr/local/mysql/lib/.
Öffnen Sie Ihre shell.
Sollten Sie die Datei sehen:
Wenn nicht, suchen Ihr system nach dem Speicherort der Datei:
2.) Erstellen Sie einen symbolischen link von libmysqlclient.18.dylib unter /usr/lib
Geben Sie den folgenden Befehl in Ihrer shell ein:
Wenn Ihr libmysqlclient.18.dylib-Datei nicht in /usr/local/mysql/lib ersetzen Sie den ersten Pfad mit dem korrekten Pfad zur libmysqlclient.18.dylib.
Hoffentlich das hilft.
ln
in Ihrem Pfad. Versuchensudo find / -name ln
und sehen, was kommt. Wenn Sie nicht sehen, Sie haben Sie irgendwie entfernt der Befehl nicht mehr oder noch nicht installiert haben.