Python3.8 Flask项目中“No module named MySQLdb”错误解决问询
解决Flask+Python3.8中ModuleNotFoundError: No module named 'MySQLdb'的问题
Hey,我之前在Python3.8环境下用Flask+SQLAlchemy搭网站时,也碰到过一模一样的问题,给你两个靠谱的解决方案:
方案1:用pymysql替代MySQLdb(最省心,适合新手)
MySQLdb本身是只支持Python2的老库,Python3根本兼容不了,咱们换个不需要编译的替代库就行:
- 先安装pymysql:
pip install pymysql - 然后在你的Flask项目文件(比如你报错的
first.1.py)最开头加上这两行代码:import pymysql pymysql.install_as_MySQLdb()
这样SQLAlchemy就会自动把pymysql当成MySQLdb来调用,你原来的数据库连接URL不用改,直接就能用,完全避开编译问题。
方案2:解决mysqlclient的编译失败问题(如果你一定要用mysqlclient)
你装mysqlclient时出现的"cant build the wheel"错误,是因为Windows下Python3.8需要对应的VC++编译环境才能编译这个库,有两种解决方式:
- 方式A:直接下载预编译的wheel文件
找对应你Python3.8 32位版本的mysqlclient预编译wheel文件,然后用pip本地安装,比如:
注意要选和你Python版本、系统位数完全匹配的文件。pip install mysqlclient-2.2.0-cp38-cp38-win32.whl - 方式B:安装编译工具
安装Microsoft Visual C++ 14.0或更高版本的Build Tools,安装完成后再重新运行:pip install mysqlclient
个人非常推荐方案1,步骤少,不用折腾编译环境,完全能满足你搭建网站的需求。
内容的提问来源于stack exchange,提问作者Dishant
相关产品推荐
相关产品推荐

