文章内容
2022/6/29 10:34:29,作 者: 黄兵
No module named 'MySQLdb'
今天再更新项目库的时候,看到 mysqlclient 可以由 2.1.0 升级到 2.1.1,如下图所示:
直接点击升级,但是升级失败。重新运行项目,报错:
No module named 'MySQLdb'
于是我使用如下命令重新安装 mysqlclient:
pip install mysqlclient
结果出现如下提示:
Requirement already satisfied: mysqlclient in e:\code\project_name\venv\lib\site-packages (2.1.0)
已经存在无法安装,只能卸载重新安装,执行如下命令:
pip uninstall mysqlclient
提示如下:
Found existing installation: mysqlclient 21.0 Uninstalling mysqlclient-2.1.0: Would remove: e:\code\project_name\venv\lib\site-packages\mysqlclient-2.1.0.dist-info\* e:\code\project_name\venv\lib\site-packages\mysqldb\* Proceed (Y/n)? Y Successfully uninstalled mysqlclient-2.1.0
已经成功卸载。
之后再次安装,执行如下命令:
pip install mysqlclient
结果默认安装的是 2.1.1 版本的 mysqlclient,结果还是错误,主要错误内容摘录如下:
MySQLdb/_mysql.c(29): fatal error C1083: Cannot open include file: 'mysql.h': No such file or directory error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\cl.exe' failed with exit code 2 [end of output]
还是需要安装 VC++,我也懒得折腾,直接安装 2.1.0 版本的 mysqlclient,具体命令如下:
pip install mysqlclient==2.1.0
安装成功,再次运行项目,问题解决。
总结
主要是在升级 mysqlclient 的时候,升级失败,导致 MySQLdb 被删除,卸载之后重新安装原来版本的 mysqlclient 即可解决问题。
黄兵个人博客原创。
评论列表