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

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


相关推荐
星云穿梭8 小时前
用Python写一个带图形界面的学生管理系统——完整教程
python
金銀銅鐵9 小时前
用 Pygame 实现 15 puzzle
python·数学·游戏
黄忠14 小时前
大模型之LangGraph技术体系
python·llm
hboot1 天前
AI工程师第二课 - 数据处理
人工智能·python·数据分析
用户8356290780511 天前
使用 Python 自动化 PowerPoint 形状布局与格式设置
后端·python
用户8356290780511 天前
用 Python 自动化 PowerPoint 演讲者备注添加
后端·python
clint4561 天前
C++进阶(1)——前景提要
c++
夜悊2 天前
C++代码示例:进制数简单生成工具
c++
黄忠2 天前
01-系统架构设计-LangGraph状态机与多源异构RAG
python
zzzzzz3102 天前
假如我是掘金管理员,我先给评论区装个'代码审查'系统
python·程序员·机器人