Flask的flask-migrate库引入MigrateCommand报错

Source Code:

from engine import app
from flask_script import Manager, Server
from flask_migrate import Migrate, MigrateCommand
from models import db, DF_User, DF_Post, DF_Comment, DF_Tag

manager = Manager(app)
migrate = Migrate(app, db)
manager.add_command("s", Server())
manager.add_command("server", Server())
manager.add_command("db", MigrateCommand)


@manager.shell
def manager_shell_context():
    return dict(app=app,
                db=db,
                df_user=DF_User,
                df_post=DF_Post,
                df_comment=DF_Comment,
                df_tags=DF_Tag
                )


def main():
    print("===============================================================================")
    print("|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||")
    print("-------------------------------------------------------------------------------")
    manager.run()
    print("-------------------------------------------------------------------------------")
    print("|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||")
    print("===============================================================================")


if __name__ == '__main__':
    main()

Error Report:

from flask_migrate import Migrate, MigrateCommand

ImportError: cannot import name 'MigrateCommand' from 'flask_migrate' (/usr/local/lib/python3.8/dist-packages/flask_migrate/init.py)

解决方案:

pip install flask-migrate==2.6.0

-- 通过pip安装版本为2.6.0 的flask-migrate库即可解决

-- 注意如果是使用Pycharm生成新venv环境开发,要在Pycharm的Terminal环境下进行这条命令的操作

-- 如果是在Pycharm外(譬如shell、CMD中直接运行Flask)执行flask的运行命令,则需要注意在系统环境下也要执行一次安装命令

Flask的flask-migrate库引入MigrateCommand报错_第1张图片

你可能感兴趣的:(flask,python)