CentOS 7 Python3环境安装MySQLdb依赖mysqlclient报错求助
报错根因
- mysqlclient属于需要本地编译的Python扩展包,安装时依赖操作系统层面的MySQL开发组件,缺少该组件会直接触发setup.py编译失败报错,你遇到的就是典型的依赖缺失问题。
分操作系统解决方案
Debian/Ubuntu 系列
首先安装系统级依赖:
sudo apt update sudo apt install python3-dev default-libmysqlclient-dev build-essential -y
依赖安装完成后重新执行安装命令:
pip3 install mysqlclient
RHEL/CentOS/Fedora 系列
先安装系统依赖:
# Fedora/CentOS8+ 用dnf sudo dnf install python3-devel mysql-devel -y # CentOS7 用yum sudo yum install python3-devel mysql-devel -y
再执行pip安装:
pip3 install mysqlclient
macOS 系统
通过Homebrew安装依赖:
brew install mysql-client # 将mysql-client加入环境变量,根据你使用的shell对应修改配置文件(.zshrc/.bashrc等) echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> ~/.zshrc source ~/.zshrc
之后执行pip安装:
pip3 install mysqlclient
Windows 系统
无需本地编译,直接下载对应Python版本、系统架构的mysqlclient预编译wheel包,本地执行安装即可:
pip3 install 你下载的wheel包文件名.whl
无编译替代方案
如果不想处理编译依赖,可以使用纯Python实现的pymysql作为替代,功能与mysqlclient完全兼容,无需编译直接安装:
- 安装pymysql
pip3 install pymysql
- 在项目入口文件首行加入兼容代码,原有调用MySQLdb的代码无需任何修改即可正常运行:
import pymysql pymysql.install_as_MySQLdb()
内容的提问来源于stack exchange,提问作者Anthony Rogers
相关产品推荐
相关产品推荐

