python3.7安装mysqlclient失败问题
问题
直接使用pip install安装mysqlclient最新版本2.1.1失败了,提示“Failed building wheel for mysqlclient”
解决步骤:
-
换wheel方式安装,去pypi官网准备下载文件,突然发现2.1.1只支持py38及以上;
-
换2.1.0,pip install mysqlclient==2.1.0也失败,原因一样;
-
继续wheel方式安装
-
下载之后pip install mysqlclient-2.1.0-cp37-cp37m-win_amd64.whl,提示“whl is not a supported wheel on this platform.”;
-
可能是whl文件名不正确,网上查找的print(pip._internal.pep425tags.get_supported())查看支持whl文件名方式不可用,——因为pip._internal中没有pep425tags.py文件;
-
使用pip debug --verbose查看, 发现格式应该为cp37-cp37m-win32;
-
改成mysqlclient-2.1.0-cp37-cp37m-win32.whl后安装成功,但运行时提示错误(原因是实际安装未完全成功,存在一个文件_mysql.cp37-win_amd64.pyd):
from . import _mysql ImportError: cannot import name '_mysql' from 'MySQLdb'
-
-
找到根源,本地很早之前安装的python是32位的,mysqlclient只提供64位的库(估计前面直接pip install失败也是这个原因);
-
尝试tar.gz文件安装:
- 下载压缩文件后,解压缩,进入setup.py文件所在目录,运行python setup.py install, 提示“mysql.h”: No such file or directory
- 将本地mysql-5.7.38\include目录下的mysql.h,复制粘贴到提示信息中的任一目录(如 Windows Kits\10\Include\10.0.18362.0\winrt)中去,直至不提示.h文件缺失为止;
- 提示缺少文件mariadbclient.lib, —— 这个真找不到了, 用别的文件改名字替换也会有其他问题
哈哈哈,以上招数都没用,
最终:下载python3.7 64位的安装包,重新安装; 然后pip install mysqlclient==2.1.0搞定!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构