文章内容

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 即可解决问题。


黄兵个人博客原创。

转载请注明出处:黄兵个人博客 - No module named 'MySQLdb'

分享到:

发表评论

评论列表