版本信息
Flask==2.0.2
Flask-Script==2.0.6
场景描述
在使用Flask的Flask-Script拓展时运行 python .\app.py runserver -d -r
命令报错:
Traceback (most recent call last):
File "C:\Users\server\Desktop\gongkaoleida\api\app.py", line 2, in <module>
from flask_script import Manager
File "C:\Users\server\.conda\envs\spider\lib\site-packages\flask_script\__init__.py", line 15, i
n <module>
from flask._compat import text_type
ModuleNotFoundError: No module named 'flask._compat'
原因分析
Flask版本过高,Flask 2.0及以上版本中将 _compat.py
文件删除了,导致在导包的时候报错。
解决方案(2种)
- 降低Flask版本到2.0以下即可,如:
flask==1.1.2
- 更改Flask源码文件,Ctrl + 左键 进入到报错的
__init__.py
源码文件中,将from flask._compat import text_type
语句改成from flask_script._compat import text_type
即可,如下所示:# from flask._compat import text_type from flask_script._compat import text_type