Windows 上安装 mysqlclient 时遇到了编译错误,核心原因是缺少 Microsoft Visual C++ 14.0 或更高版本 的编译环境。

🐛 Bug记录:mysqlclient 安装失败,正常pip install 已无法正常下载!

错误信息

powershell 复制代码
PS C:\Users\联想\Desktop\重庆市旅游景点数据可视化分析> pip install -i https://mirrors.aliyun.com/pypi/simple mysqlclient
...
error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
ERROR: Failed building wheel for mysqlclient
Failed to build mysqlclient
ERROR: Failed to build installable wheels for some pyproject.toml based projects (mysqlclient)

✅ 解决方案(任选一种)

1️⃣ 安装 Visual C++ 编译工具(推荐)

  • 下载 Microsoft C++ Build Tools

  • 安装时勾选 "C++ 桌面开发" 工作负载(会自动包含 Windows 10 SDK 等必要组件)

  • 安装完成后重启电脑 ,再重新运行:

    powershell 复制代码
    pip install -i https://mirrors.aliyun.com/pypi/simple mysqlclient

2️⃣ 使用预编译的 wheel 文件(更省事)

3️⃣ 改用纯 Python 的 PyMySQL(无需编译 推荐!!!)

如果你不介意更换数据库驱动,可以直接安装 PyMySQL,它不依赖 C 编译环境:

powershell 复制代码
pip install -i https://mirrors.aliyun.com/pypi/simple pymysql

然后在你项目的数据库连接代码中将 MySQLdb 替换为 PyMySQL(或设置 pymysql.install_as_MySQLdb())。


🔧 针对第 3 种方案:如何具体快简便速操作?

你需要在项目中使用数据库连接的代码文件里进行修改。具体位置取决于你使用的开发框架或数据库操作方式:

情况 1:使用 Django 框架

  • 找到项目主目录下的 __init__.py 文件(与 settings.py 同级)

  • 在顶部添加:

    python 复制代码
    import pymysql
    pymysql.install_as_MySQLdb()
  • 如果没有该文件,新建一个 __init__.py 即可。

情况 2:使用 Flask + SQLAlchemy(或原生 MySQLdb)

  • 打开你初始化数据库连接的那个文件(通常是 app.pydb.pymodels.pyconfig.py

  • 导入任何数据库模块之前 添加:

    python 复制代码
    import pymysql
    pymysql.install_as_MySQLdb()

修改后还需安装 PyMySQL

powershell 复制代码
pip install -i https://mirrors.aliyun.com/pypi/simple pymysql

这样就能避开编译问题,让项目不会因为数据库连接的问题导致项目失败 从而使项目正常运行。


相关推荐
Mike_Zhang7 分钟前
使用python统计FreeSWITCH呼叫并发
python·freeswitch
ShineWinsu8 分钟前
对于C++:布隆过滤器(bloomfilter)的详细解析
c++·面试·位图·位运算·布隆过滤器·海量数据·比特位
SL-staff22 分钟前
技术实践:HR如何用JVS-Logic可视化编排实现考勤数据同步(含节点配置与异常处理)
开发语言·python·低代码·钉钉·可视化编排·jvs-logic·hr技术
zzzzzz3102 小时前
AI 助手最危险的不是报错,而是“看起来成功”:我给工作流加了四道保险
人工智能·python
用户8356290780512 小时前
如何使用 Python 将 PowerPoint 转换为 PDF 文档
后端·python
菜冻鱼2 小时前
Python-pytorch-高级技巧
开发语言·人工智能·pytorch·python·深度学习·神经网络·聚类
lpfasd1232 小时前
python webview打包版卡死、开发版正常
开发语言·python
用户8356290780512 小时前
如何使用 Python 为 PowerPoint 幻灯片添加切换效果
后端·python
菜冻鱼3 小时前
Python-pytorch-模型保存与加载
开发语言·人工智能·pytorch·python·深度学习·机器学习
亿牛云爬虫专家3 小时前
爬虫调度系统设计:用 Celery 实现按媒体权重动态调整的抓取频率控制
爬虫·python·隧道代理·舆情采集·媒体权重·频率控制·ip自动轮换