Ich versuche mit Python MySQLdb auf meine MySQL-Datenbank auf meinem MAMP-Server zuzugreifen.MAMP Python-MySQLdb Problem: Pfad zu libssl.1.0.0.dylib ändert sich einmal Python-Datei mit dem Namen
Als ich zunächst versucht, eine Python-Datei mit Python-SQL zu nennen meine Datenbank auf MAMP zugreifen bekam ich die image not found
Fehler in Bezug auf die libssl.1.0.0.dylib
Bibliothek
Traceback (most recent call last):
File "desktopsql.py", line 3, in <module>
import _mysql as ms
File "build/bdist.macosx-10.5-x86_64/egg/_mysql.py", line 7, in <module>
File "build/bdist.macosx-10.5-x86_64/egg/_mysql.py", line 6, in __bootstrap__
ImportError:
dlopen(/Users/username/.python-eggs/MySQL_python-1.2.5-py2.7-macosx-
10.5-x86_64.egg-tmp/_mysql.so, 2):
Library not loaded: libssl.1.0.0.dylib
Referenced from:
/Users/username/.python-eggs/MySQL_python-1.2.5-py2.7-macosx-10.5-x86_64.egg-tmp/_mysql.so
Reason: image not found
Also habe ich es zu einem gewissen Grad fixiert die durch Veränderung libssl.1.0.0.dylib
Pfad export DYLD_LIBRARY_PATH=/Users/username/anaconda/lib/:$DYLD_LIBRARY_PATH
, aber es muss für jeden Ordner getan ich möchte in die Python-Datei auszuführen.
Also, wenn ich versuche, die Python-Datei über PHP
auf meiner MAMP Webseite auszuführen erhalte ich den Fehler wieder, und Ich kann meine behelfsmäßige Reparatur dieses Mal nicht verwenden, um es zu vertuschen.
Ich habe versucht, es zu beheben weiter install_name_tool
mit der falschen Bibliothek Speicherort ändern /Users/username/.python-eggs/MySQL_python-1.2.5-py2.7-macosx-10.5-x86_64.egg-tmp/_mysql.so
, wo es tatsächlich in /Users/username/anaconda/lib/
sudo install_name_tool -change
libssl.1.0.0.dylib
/Users/username/anaconda/lib/libssl.1.0.0.dylib
/Users/username/.python-eggs/MySQL_python-1.2.5-py2.7-macosx-10.5-x86_64.egg-tmp/_mysql.so
Nachdem ich mich otool -L
verwenden, so gespeichert wird, um den Status zu sehen, was ich habe geändert und das Ergebnis besagt, dass der Dateipfad hat sicherlich an den richtigen Speicherort geändert.
otool -L
/Users/username/.python-eggs/MySQL_python-1.2.5-py2.7-macosx-10.5-x86_64.egg-tmp/_mysql.so
/Users/username/anaconda/lib/libssl.1.0.0.dylib
(compatibility version 1.0.0, current version 1.0.0)
jedoch, wenn ich die Python-Datei erneut ausführen, bekomme ich die image not found
Fehler. Beim erneuten Ausführen von otool -L
zeigt das Ergebnis, dass der Dateipfad wieder zurückgesetzt wurde.
/Users/username/.python-eggs/MySQL_python-1.2.5-py2.7-macosx-10.5-x86_64.egg-tmp/_mysql.so:
libssl.1.0.0.dylib
(compatibility version 1.0.0, current version 1.0.0)
So wechselt er an die richtige Stelle, bis ich die Python-Datei ausführen und es ist wieder zu dem, was es vorher war.
Warum passiert das? Gibt es etwas, was ich tun kann, damit es so bleibt, wie ich es geändert habe?
Versucht, https://github.com/cvondrick/vatic auf Mac OS X zu installieren, und ich stieß auch auf dieses Problem. Die Lösung hier hat perfekt funktioniert. – chris838
Bei Verwendung von OSX El Capitan ist/usr/lib standardmäßig schreibgeschützt (selbst in sudo). Um dies zu deaktivieren, folgen Sie [diese] (http://apple.stackexchange.com/questions/208478/how-do-i-disable-system-integrity-protection-sip-aka-rootless-on-o-s-x- 10-11) Schritte –