开发手册 欢迎您!
软件开发者资料库

Python flask flask_script 报错:ModuleNotFoundError: No module named 'flask._compat'解决方法

本文主要介绍Python中,使用flask中flask_script时,报错:ModuleNotFoundError: No module named 'flask._compat'的解决方法,以及相关示例代码。

manage.py:

from flask_script import Manager
from main import app
manager = Manager(app)
@manager.command
def hello():
print ("hello")
if __name__ == "__main__":
manager.run()

main.py:

from flask import Flaskapp = Flask(__name__)

报错信息:

(venv) wonhero@wonhero-PC:~/Proyectos Python/flask_script$ python3 manage.py hello
Traceback (most recent call last):
File "manage.py", line 1, in
from flask_script import Manager
File "/home/wonhero/Proyectos Python/flask_script/venv/lib/python3.8/site-packages/flask_script/__init__.py", line 15, in
from flask._compat import text_type
ModuleNotFoundError: No module named 'flask._compat'

原因:

可能是更新了Flask版本问题,导致Flask._compat的目录发生变化。

解决方法:

使用如下命令降级;

pip install "Flask==1.1.4"
pip install "werkzeug==1.0.1"

或者

不使用Flask-Script,使用flask命令如下:

初始化数据库:flask db init

迁移新更改:flask db migrate

升级:flask db upgrade

还有其它命令...

或者

不降级则可以尝试修改一下flask_script/__init__.pyfrom ._compat import text_type 改成 from flask_script._compat import text_type