You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决macOS下使用dataset模块时出现ModuleNotFoundError: No module named 'MySQLdb'报错

问题原因

dataset连接MySQL默认依赖MySQLdb驱动,该驱动仅适配Python 2,Python 3环境无官方兼容版本,因此会触发ModuleNotFoundError报错。

解决方案

方案1(优先推荐,无代码修改):安装mysqlclient驱动

mysqlclient是MySQLdb的Python 3适配分支,性能最优,安装后原代码无需任何修改即可运行。
macOS环境安装步骤:

  • 先安装系统依赖:brew install mysql-client
  • 配置环境变量(避免pip找不到mysql配置文件):
    echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> ~/.zshrc
    source ~/.zshrc
    
  • 安装Python依赖:pip install mysqlclient
    安装完成后直接运行原有代码即可。

方案2(无需系统依赖,少量代码修改):使用pymysql替代

如果不想安装系统级的mysql依赖,可以用纯Python实现的pymysql替代MySQLdb:

  • 安装pymysql:pip install pymysql
  • 修改原有代码,在导入dataset之前添加两行适配代码:
    import pymysql
    pymysql.install_as_MySQLdb()
    
    import dataset
    # 剩余原有代码保持不变
    db = dataset.connect('mysql://root:password@127.0.0.1/dataname')
    table = db['users']
    table.insert(dict(userid='a1344134'))
    

可选优化:连接串直接指定驱动

安装pymysql后,也可以不修改适配代码,直接将数据库连接串调整为指定pymysql驱动即可:

db = dataset.connect('mysql+pymysql://root:password@127.0.0.1/dataname')

内容的提问来源于stack exchange,提问作者CJ Yen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 00:42:02