当我运行包含以下内容的管理文件时,我有一个在 pycharm 中运行良好的应用程序:
#!/usr/bin/env python
from app import create_app, db
from app.models import User, Role
from flask_script import Manager, Shell
from flask_migrate import Migrate, MigrateCommand
app = create_app('default')
manager = Manager(app)
migrate = Migrate(app, db)
def make_shell_context():
return dict(app=app, db=db, User=User, Role=Role)
manager.add_command("shell", Shell(make_context=make_shell_context))
manager.add_command('db', MigrateCommand)
if __name__ == '__main__':
app.run()
但是,如果我替换app.run()
为manager.run()
然后从命令行运行该文件,我会收到关于第 2 行的以下错误from app import create_app, db
:
ModuleNotFoundError:没有名为“app”的模块
任何想法为什么会这样或如何解决它?不确定它可以找到一种方式,但不能找到另一种方式。
非常感谢
*编辑我应该添加该应用程序不是一个名为 app.py 的文件。它是在__init__.py
文件中创建的变量。这就是我正在遵循的示例中的完成方式,并且没有遇到错误。