Sto provando a usare python MySQLdb per accedere al mio database MySQL sul mio server MAMP.MAMP Python-MySQLdb issue: Path to libssl.1.0.0.dylib cambiando una volta il file Python chiamato
Quando ho inizialmente provato a chiamare un file Python con python-SQL per accedere al mio database su MAMP ho ottenuto l'errore image not found
per quanto riguarda la biblioteca libssl.1.0.0.dylib
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
Così ho risolto il tutto in una certa misura cambiando la libssl.1.0.0.dylib
percorso utilizzando export DYLD_LIBRARY_PATH=/Users/username/anaconda/lib/:$DYLD_LIBRARY_PATH
, ma deve essere fatto per ogni cartella desidero eseguire il file Python in.
Così, quando provo a eseguire il file di Python attraverso PHP
sulla mia pagina web MAMP ottengo l'errore di nuovo, e Non posso usare la mia correzione improvvisata questa volta per coprirlo.
ho cercato di risolvere il problema ulteriormente usando install_name_tool
per modificare la posizione falsa libreria /Users/username/.python-eggs/MySQL_python-1.2.5-py2.7-macosx-10.5-x86_64.egg-tmp/_mysql.so
a dove è effettivamente memorizzata nei /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
Dopo questo modo io uso otool -L
per vedere lo stato di quello che ho modificato e il risultato indica che il percorso file ha sicuramente cambiato nella posizione corretta.
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)
Tuttavia quando si esegue nuovamente il file python, ottengo l'errore image not found
. Dopo aver eseguito otool -L
di nuovo il risultato mostra che il percorso del file è stato ripristinato nuovamente.
/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)
Quindi passa alla posizione corretta fino a quando eseguo il file python ed è tornato di nuovo a ciò che era prima.
Perché sta succedendo? C'è qualcosa che posso fare per mantenere ciò che ho cambiato?
Cercando di installare https://github.com/cvondrick/vatic su Mac OS X e ho riscontrato anche questo problema. La soluzione qui ha funzionato perfettamente. – chris838
Se si utilizza OSX El Capitan,/usr/lib è protetto da scrittura di default (anche in sudo). Per disattivarlo, segui [questi] (http://apple.stackexchange.com/questions/208478/how-do-i-disable-system-integrity-protection-sip-aka-rootless-on-os-x- 10-11) passi –