Windows环境Python遇mysqlclient安装出现mysql.h报错No such file or director

25 阅读1分钟

在GitHub下载了一个开源Python项目,里面有用到MySQLdb库,需要安装mysqlclient依赖,但在安装时,报了以下错误:

src/MySQLdb/_mysql.c(29): fatal error C1083: 无法打开包括文件: “mysql.h”: No such file or directory

试了很多办法没解决,最后找到一篇文章,也遇到同样的问题,是通过安装mysql-connector-c组件解决的。 解决过程如下:

1、先下载mysql-connector-c

https://downloads.mysql.com/archives/c-c/

我下载的是:mysql-connector-c-6.1.11-winx64.msi

2、安装mysql-connector-c

安装mysql-connector-c-6.1.11-winx64.msi,可以不使用默认路径,自定义安装路径。 将安装路径下的include目录里面的所有文件复制到本地Python安装路径下的include目录下。 此时再安装mysqlclient,不再上面的错误,但报了另外一个错误:

LINK : fatal error LNK1181: 无法打开输入文件“mariadbclient.liberror: command ‘xxx\link.exe’ failed with exit status 1181

3、构造mariadbclient.lib

新建以下目录

C:\mariadb-connector\lib\mariadb

将上面mysql-connector-c安装路径下的\lib\vs14\mysqlclient.lib文件复制到以上目录下。 重命名为mariadbclient.lib。 此时再安装mysqlclient就能成功了。记录解决过程以备忘。也感谢网友的分享!

参考

Windows环境Python3.12.6解决mysqlclient安装出现mysql.h报No such file or director问题