我正在尝试使用python MySQLdb访问我的MAMP服务器上的MySQL数据库.
当我最初尝试使用python-sql调用Python文件来访问我在MAMP上的数据库时,我得到了image not found
关于libssl.1.0.0.dylib
库的错误
Traceback (most recent call last): File "desktopsql.py", line 3, inimport _mysql as ms File "build/bdist.macosx-10.5-x86_64/egg/_mysql.py", line 7, in 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
因此,我通过更改libssl.1.0.0.dylib
路径使用
来修复它export DYLD_LIBRARY_PATH=/Users/username/anaconda/lib/:$DYLD_LIBRARY_PATH
,但必须对我希望执行Python文件的每个文件夹执行此操作.
因此,当我尝试PHP
在我的MAMP网页上执行Python文件时,我再次收到错误,这次我无法使用临时修复来掩盖它.
我试图进一步修复它使用install_name_tool
将错误的库位置更改/Users/username/.python-eggs/MySQL_python-1.2.5-py2.7-macosx-10.5-x86_64.egg-tmp/_mysql.so
为实际存储的位置/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
在这样做之后,我otool -L
用来查看我已经更改的状态,结果表明文件路径确实已经更改为正确的位置.
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)
但是,当我再次运行python文件时,我收到image not found
错误.otool -L
再次运行时,结果显示文件路径已再次恢复.
/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)
因此它会更改到正确的位置,直到我运行python文件并再次返回到之前的状态.
为什么会这样?有什么我可以做的,以保持我改变它的东西?