【Python MySQLdb】Library not loaded: /usr/local/mysql/lib/libmysqlclient.20.dylib解决办法

使用MySQLdb遇到以下错误

ImportError: dlopen(/Users/jackey/Documents/Xiaomi/Code/wda_python/lib/python2.7/site-packages/_mysql.so, 2): Library not loaded: /usr/local/mysql/lib/libmysqlclient.20.dylib
  Referenced from: /Users/jackey/Documents/Xiaomi/Code/wda_python/lib/python2.7/site-packages/_mysql.so
  Reason: image not found

原因是_mysql.so找不到

/usr/local/mysql/lib/libmysqlclient.20.dylib

我们看下_mysql.so是怎么找的

(wda_python) bash-3.2$ otool -L /Users/jackey/Documents/Xiaomi/Code/wda_python/lib/python2.7/site-packages/_mysql.so
/Users/jackey/Documents/Xiaomi/Code/wda_python/lib/python2.7/site-packages/_mysql.so:
        /usr/local/mysql/lib/libmysqlclient.20.dylib (compatibility version 20.0.0, current version 20.0.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.200.5)
(wda_python) bash-3.2$ 

20.dylib是有路径的, 如果这里没有路径需要添加路径, 使用下面用到的修改连接的方法

我们看下/usr/local/mysql/lib目录下面的内容

发现目录中是libmysqlclient.21.dylib

我们修改下_mysql.so的连接到21.dylib

(wda_python) bash-3.2$ sudo install_name_tool -change /usr/local/mysql/lib/libmysqlclient.20.dylib /usr/local/mysql/lib/libmysqlclient.21.dylib /Users/jackey/Documents/Xiaomi/Code/wda_python/lib/python2.7/site-packages/_mysql.so
Password: (wda_python) bash-3.2$

再试下就OK了

 

转载于:https://www.cnblogs.com/zhouxihi/p/10688684.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值