使用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
再试下就OK了
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有