简体   繁体   English

Flask shell 未能在模块“flask”中找到 Flask 应用程序或工厂

[英]Flask shell failed to to find Flask application or factory in module “flask”

I am learning 'flask_web_development' in chapter 7 which encapsulate an app to a factory我正在学习第 7 章中的“flask_web_development”,它将应用程序封装到工厂

def create_app(config_name):
    app = Flask(__name__)
    app.config.from_object(config[config_name])
    config[config_name].init_app(app)

    bootstrap.init_app(app)
    mail.init_app(app)
    moment.init_app(app)
    db.init_app(app)

    from .main import main as main_blueprint
    app.register_blueprint(main_blueprint)

    return app

It report error when run flask shell运行时报错 flask shell

   In [21]: !flask shell                    
Usage: flask shell [OPTIONS] [IPYTHON_ARGS]...

Error: Failed to find Flask application or factory in module "flask". Use "FLASK_APP=flask:name to specify one.

flask run works properly flask运行正常

In [19]: !export FLASK_APP=flask.py; export FLASK_DEBUG=1                          

In [20]: !flask run &                    

In [21]:  * Serving Flask app "flask.py" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: on
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 301-086-427

flask shell function well in the proceeding chapters which I set it to ipython with `flask-shell-ipython' flask shell function 在我用`flask-shell-ipython'设置为ipython

The details细节

In [26]: !export FLASK_APP=flasky.py     
In [27]: !flask shell                    
Usage: flask shell [OPTIONS] [IPYTHON_ARGS]...
Error: Failed to find Flask application or factory in module "flask". Use "FLASK_APP=flask:name to specify one.

and the flasky.py和烧瓶.py

In [28]: !cat flasky.py                  
import os
import click
from flask_migrate import Migrate
from app import create_app, db
from app.models import User, Role

app = create_app(os.getenv('FLASK_CONFIG') or 'default')
migrate = Migrate(app, db)


@app.shell_context_processor
def make_shell_context():
    return dict(db=db, User=User, Role=Role)


@app.cli.command()
@click.argument('test_names', nargs=-1)
def test(test_names):
    """Run the unit tests."""
    import unittest
    if test_names:
        tests = unittest.TestLoader().loadTestsFromNames(test_names)
    else:
        tests = unittest.TestLoader().discover('tests')
    unittest.TextTestRunner(verbosity=2).run(tests)

Before 'flask run &' you are exporting 'FLASK_APP= flask.py '在 'flask run &' 之前,您正在导出 'FLASK_APP= flask.py '

Before 'flask shell' you are exporting 'FLASK_APP= flasky.py '在 'flask shell' 之前,您要导出 'FLASK_APP= flasky.py '

There is a difference in both the names.两个名字有区别。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 在模块“app”中找不到 Flask 应用程序或工厂。 使用 'FLASK_APP=app:name' 指定一个 - Failed to find Flask application or factory in module 'app'. Use 'FLASK_APP=app:name' to specify one 错误:无法在模块“app”中找到 Flask 应用程序或工厂。 使用 'FLASK_APP=app:name' 指定一个 - Error: Failed to find Flask application or factory in module 'app'. Use 'FLASK_APP=app:name' to specify one flask.cli.NoAppException:无法在模块“flaskr”中找到 Flask 应用程序或工厂。 使用“FLASK_APP=flaskr:name 指定一个 - flask.cli.NoAppException: Failed to find Flask application or factory in module "flaskr". Use "FLASK_APP=flaskr:name to specify one Docker 运行错误 - 无法在模块“app”中找到 Flask 应用程序或工厂。 使用 "FLASK_APP=app:name 指定一个 - Docker run error - Failed to find Flask application or factory in module "app". Use "FLASK_APP=app:name to specify one 启动 Flask 应用程序时出错,出现错误“无法找到 Flask 应用程序” - Error launching Flask app with error "Failed to find Flask application" Flask 应用工厂模式与 Flask-Mail - Flask application factory pattern with Flask-Mail 烧瓶应用的模型模块 - models module for flask application 在 flask 上的应用程序工厂中初始化配置 - Initialize configuration in application factory on flask 烧瓶。 应用工厂测试 - Flask. Application Factory Testing flask 的 Flask-Mail 扩展在应用程序工厂结构中不起作用 - Flask-Mail extension of flask not working in application factory structure
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM