Python3 报错 Library not loaded: libmysqlclient.20.dylib

本文解决了一个Python3在尝试连接MySQL数据库时出现的错误,错误原因是找不到libmysqlclient.20.dylib动态库。通过创建软链接从21版本回指到20版本解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python3 报错信息

Traceback (most recent call last):
  File "send.py", line 5, in <module>
    from db import *
  File "/Users/ko/projects/php/edm/db.py", line 7, in <module>
    import MySQLdb
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/MySQLdb/__init__.py", line 19, in <module>
    import _mysql
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/_mysql.cpython-36m-darwin.so, 2): Library not loaded: /usr/local/opt/mysql/lib/libmysqlclient.20.dylib
  Referenced from: /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/_mysql.cpython-36m-darwin.so
  Reason: image not found

原因分析

昨天之行了一次 brew upgrade 导致 mysql、php 全部都错误。进入 /usr/local/opt/mysql/lib/ ,查看文件存在:

~$ ls -la  /usr/local/opt/mysql/lib/
total 22448
drwxr-xr-x   8 ko  staff      272  6 29 00:42 .
drwxr-xr-x  15 ko  staff      510  9  1 22:02 ..
-rw-r--r--   1 ko  staff  5424044  9  1 22:01 libmysqlclient.21.dylib
-r--r--r--   1 ko  staff  6047688  6 29 00:42 libmysqlclient.a
lrwxr-xr-x   1 ko  staff       23  6 29 00:42 libmysqlclient.dylib -> libmysqlclient.21.dylib
-r--r--r--   1 ko  staff     9624  6 29 00:42 libmysqlservices.a
drwxr-xr-x   3 ko  staff      102  9  1 22:01 pkgconfig
drwxr-xr-x  91 ko  staff     3094  6 29 00:42 plugin

解决方案

链接一个20版本到21

ln -s libmysqlclient.21.dylib libmysqlclient.20.dylib
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值