Flask Error:ModuleNotFoundError: No module named ‘flask._compat‘

版本信息

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种)

  1. 降低Flask版本到2.0以下即可,如:flask==1.1.2
  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
    
上一篇:Flask中如何从后端视图函数传递多个值给前端JS


下一篇:gunicorn部署flask