【问题标题】:Can't import MigrateCommand from flask_migrate无法从 flask_migrate 导入 MigrateCommand
【发布时间】:2021-10-02 06:03:22
【问题描述】:

我在 Flask 应用程序中为数据库迁移创建了一个 manage.py 文件,但在尝试导入 MigrateCommand 时出现错误。我正在使用 PyCharm,我确定该软件包已安装。

代码:

import os
from flask_migrate import Migrate,MigrateCommand
from flask_script import Manager
from app import app, db

app.config.from_object(os.environ['APP_SETTINGS'])

migrate = Migrate(app, db)
manager = Manager(app)

manager.add_command('db', MigrateCommand)


if __name__ == '__main__':
    manager.run()

错误:

Cannot find reference 'MigrateCommand' in '__init__.py' 

编辑:

就像 Matteo Pasini 回答的 Flask-Script 不再受支持,最好的解决方案是使用 Flask CLI。对于任何想知道使用 Flask CLI 的 manage.py 文件是什么的人,我建议阅读这个解释得很好的简短指南:

https://medium.datadriveninvestor.com/migrating-flask-script-to-flask-2-0-cli-4a5eee269139

【问题讨论】:

    标签: flask pycharm flask-migrate


    【解决方案1】:

    MigrateCommand 似乎不再受支持:https://github.com/miguelgrinberg/Flask-Migrate/issues/407

    一种可能的解决方法是安装旧版本的Flask-Migrate,例如:

    pip install Flask-Migrate==2.6.0
    

    或切换到 Flask CLI

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多