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

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


相关推荐
微学AI2 小时前
内网穿透的应用-服务器日志出现异常怎么办?Python监控、钉钉告警与远程处理教程
服务器·python·钉钉
_Jimmy_10 小时前
Agent 溯源精度提升方案
人工智能·python·langchain
SamChan9011 小时前
在Web应用中集成PDF多语言翻译功能:PDFTranslator API实战指南
前端·python·ai·pdf·yapi·机器翻译
天天进步201512 小时前
Python全栈项目--智能办公自动化系统
开发语言·python
拳里剑气12 小时前
C++算法:多源BFS
c++·算法·宽度优先·多源bfs
颜酱12 小时前
09 | 重构项目结构
人工智能·python·langchain
ysa05103013 小时前
【板子】短序列dp(换成维护更小常数维度的dp)
c++·笔记·算法·板子
kisloy13 小时前
【爬虫入门第8讲】Python爬虫反爬入门
开发语言·爬虫·python
Sisphusssss14 小时前
香橙派5plus GPIO
linux·python·ubuntu
数据知道14 小时前
Windows 安全基线:组策略、UAC、Defender 深度配置
windows·安全·网络安全