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.py、db.py、models.py 或 config.py)

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

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

修改后还需安装 PyMySQL

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

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


相关推荐
神仙别闹7 分钟前
基于C++实现的(控制台)学校开课查询系统
开发语言·c++
Dylan的码园25 分钟前
A+B问题 进制处理【逻辑控制 运算符】
c++·算法
happylifetree32 分钟前
Python01-08:练习
python
空奈qwq36 分钟前
ANN 全连接神经网络入门指南:从神经元到深度学习的第一步
人工智能·python·深度学习·神经网络·算法·机器学习
hetao17338371 小时前
2026-09-27~28 hetao1733837 的刷题记录
c++·算法
2601_962218611 小时前
C++的几种编译器的实现
开发语言·c++
多弗朗皮卡丘1 小时前
C++ stack和queue
开发语言·c++·deque·queue·stack·容器适配器
lengxuenong1 小时前
枚举及其优化学习手册
c++·学习·算法·青少年编程
维克兜率天1 小时前
【维克】弹性策略:用“乖离率“捕捉超跌反弹
android·开发语言·python·深度学习·kotlin·量化
赵文宇(温玉)1 小时前
怎么下载 Windows 的 ISO 系统镜像
windows