一不小心手一抖!
把Mac升级到了10.11.1,结果Mysql-for-python不能连接了。
Traceback (most recent call last): File "<stdin>", line 1, in <module> File "MySQLdb/__init__.py", line 19, in <module> import _mysql ImportError: dlopen(/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib Referenced from: /Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so
咋解决呢?搜了一堆资料,如下总结解决办法:
1、在.bash_profile加载正确的mysql lib文件,如:
export DYLD_LIBRARY_PATH="/usr/local/opt/mysql/lib"
注意:不能按网上的来,一定要先查询自己mysql的安装位置,填写正确。
我查询资料时候,翻来覆去在这个地方浪费了很多时间。
卸载了mysql,由重新安装。
注意:通过mysql官网安装的,和使用brew安装的,或者其他方式安装,路径不同。
2、libmysqlclient.18.dylib软连接一定要设置正确
首先,需要找到mysql的正确安装位置,然后建立软连接,如下:
sudo ln -s /usr/local/opt/mysql/lib/libmysqlclient.20.dylib /usr/local/lib/libmysqlclient.18.dylib
注意:我的mysql使用brew安装,默认是mysql 5.7.9,所以libmysqlclient变成了20
于是做了上诉连接。
我不知道调用
/usr/local/lib/libmysqlclient.18.dylib,是在哪里,无法修改成20,所以将错就错。 综上,解决问题。 关键点: 找对mysql安装位置。你可能安装了几个版本。 参考连接: http://segmentfault.com/q/1010000000329095
转载随意~:陶醉 » MacOs升级后无法加载MySQLdb