MacOs升级后无法加载MySQLdb

一不小心手一抖!

把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

赞 (123)
分享到:更多 ()