海神


修复MySQL-python不能加载_mysql.so的错误

2012-06-21

如果出现了

django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: dlopen(/Users/xxx/xxx/pyprojects/xxx/lib/python2.7/site-packages/mysql.so, 2): Library not loaded: libmysqlclient.18.dylibReferenced from: /Users/xxx/xxx/pyprojects/xxx/lib/python2.7/site-packages/mysql.soReason: image not found

这样的错误。

.bash_profile中加入: 

export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:/usr/local/mysql/lib/"

不过这样只能影响控制台,不能影响IDE等工具,如果要永久修复需要运行:

sudo install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/_mysql.so

_mysql.so其实是一个到libmysqlclient.18.dylib的引用,这个命令就是建立_mysql.so到mysql里面library的永久链接。


blog comments powered by Disqus