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 Flask

app = Flask(__name__)

报错信息:

(venv) cjavapy@cjavapy-PC:~/Proyectos Python/flask_script$ python3 manage.py hello
Traceback (most recent call last):
File "manage.py", line 1, in <module>
from flask_script import Manager
File "/home/cjavapy/Proyectos Python/flask_script/venv/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'

原因:

可能是更新了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


推荐阅读
cjavapy编程之路首页