Ubuntu 20.04 LTS安装mysqlclient==1.3.10报my_config.h不存在错误问询
解决方案
首先明确报错根本原因:你安装的mysqlclient==1.3.10是2017年发布的旧版本,仅适配MySQL 5.5/5.6/5.7系列,当前系统预装的MySQL开发包为8.0及以上版本时,官方已经移除了my_config.h、ieeefp.h等旧版本头文件,手动补单个头文件无法解决版本不兼容的本质问题,还可能破坏系统依赖结构。
方案1:可升级mysqlclient版本(推荐)
新版本mysqlclient已经适配MySQL 8.0+的头文件结构,直接执行以下命令安装即可:
pip install mysqlclient>=2.0.3
如果需要限定大版本号,也可以选择mysqlclient==1.4.6及以上的1.x分支版本,同样支持MySQL 8.0。
方案2:必须使用mysqlclient==1.3.10
需要先将系统的MySQL开发包降级到5.7版本:
- Debian/Ubuntu 系列操作:
- 先卸载现有MySQL开发包:
sudo apt remove -y libmysqlclient-dev - 添加MySQL 5.7官方源后安装对应开发包:
sudo apt install -y libmysqlclient-dev=5.7.* - 重新执行安装命令:
pip install mysqlclient==1.3.10
- 先卸载现有MySQL开发包:
- CentOS/RHEL 系列操作:
- 先卸载现有MySQL开发包:
sudo yum remove -y mysql-devel - 安装MySQL 5.7版本开发包:
sudo yum install -y mysql57-community-devel - 重新执行安装命令:
pip install mysqlclient==1.3.10
- 先卸载现有MySQL开发包:
注意事项
请先删除你之前手动复制到/usr/include/mysql目录下的自定义头文件,避免后续安装过程中出现文件冲突。
内容的提问来源于stack exchange,提问作者Mert KUĞ
相关产品推荐
相关产品推荐

