Beim Ausführen von python manage.py runserver in Django kann der folgende Fehler auftreten:
ImproperlyConfigured: Error loading MySQLdb module: dlopen(/Library/Python/2.7/site-packages/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib Referenced from: /Library/Python/2.7/site-packages/_mysql.so Reason: unsafe use of relative rpath libmysqlclient.18.dylib in /Library/Python/2.7/site-packages/_mysql.so with restricted binary
Die Ursache
Dieser Fehler tritt aufgrund der Implementierung des Systemintegritätsschutzes durch Apple in OS X El Capitan (10.11) auf. Dadurch wird verhindert, dass Programme an geschützten Speicherorten wie /usr über relative Referenzen auf gemeinsam genutzte Bibliotheken zugreifen.
In diesem Fall enthält die gemeinsam genutzte Bibliothek _mysql.so eine relative Referenz auf libmysqlclient.18.dylib.
Die Lösung
Um dieses Problem zu beheben, müssen Sie _mysql.so zwingen, einen absoluten Verweis auf libmysqlclient.18.dylib zu verwenden. Dies kann mit dem Dienstprogramm install_name_tool erreicht werden.
Schritte zur Behebung des Problems
sudo install_name_tool -change libmysqlclient.18.dylib \ /usr/local/mysql/lib/libmysqlclient.18.dylib \ /Library/Python/2.7/site-packages/_mysql.so
Dieser Befehl aktualisiert die Referenz der gemeinsam genutzten Bibliothek in _mysql.so, um den absoluten Pfad zu libmysqlclient zu verwenden. 18.dylib.
Nachdem Sie diesen Befehl ausgeführt haben, sollten Sie in der Lage sein, python manage.py runserver ohne den MySQL-Konfigurationsfehler erfolgreich auszuführen.
Das obige ist der detaillierte Inhalt vonWie behebt man „Unsachgemäß konfiguriert: Fehler beim Laden des MySQLdb-Moduls' in Django unter macOS?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!