Python3.8 ModuleNotFoundError: No module named 'flask._compat'
问题描述:
版本:python3.8 Flask2.0.0
使用flask-script的Manage实例运行app.py
app.py
from flask_script import Manager
from apps import create_app
app = create_app()
manage = Manager(app=app)
if __name__ == '__main__':
manage.run()
报错:ModuleNotFoundError: No module named 'flask._compat'
Traceback (most recent call last):
File "app.py", line 1, in <module>
from flask_script import Manager
File "/Users/ljh/.virtualenvs/flask_env/lib/python3.8/site-packages/flask_script/__init__.py", line 15, in <module>
from flask._compat import text_type
ModuleNotFoundError: No module named 'flask._compat'
原因分析:
报错原因,“模块找不到”,
按住command查看flask_script模块进入到__init__.py查看源码,再查看_compat.py时,发现找不到文件。
所以是因为Flask版本太高,没有_compat.py文件。
解决方案
降低Flask版本就行,控制台重新安装Flask,指定1.1.4版本。
pip3 install flask==1.1.4
安装成功后控制台再启动:python3 app.py runserver -p 8080,可以正常启动。
(flask_env) ljh@LJhdeMacBook-Air demo2 % python3 app.py runserver -p 8080
* Serving Flask app "apps" (lazy loading)