【问题标题】:Flask - Error: While importing 'app', an ImportError was raisedFlask - 错误:导入“应用程序”时,引发了 ImportError
【发布时间】:2021-10-20 02:16:29
【问题描述】:

我正在尝试让一个使用 Python 3.9.7 运行的 hello world flask 应用程序。

文件夹结构:
py 烧瓶/
应用程序.py
自述文件.md

app.py 的内容:

from flask import flask

app = flask(__name__)

@app.route("/")
def index():
    return "Hello Wolford"

@app.route("/greeting/")
def greeting():
    return "Nice to see you"

当我在 py-flask 目录中并尝试运行应用程序时,我得到:
Error: While importing 'app', an ImportError was raised.

我试过python3 -m flask runflask run 都不起作用。

有什么想法我可能做错了吗?
点子列表(如果有用):

Package       Version
------------- -------
cachelib      0.4.1
click         8.0.3
Flask         2.0.2
Flask-Session 0.4.0
itsdangerous  2.0.1
Jinja2        3.0.2
MarkupSafe    2.0.1
pip           21.2.3
setuptools    57.4.0
Werkzeug      2.0.2

【问题讨论】:

  • 在 app.py 结尾加上一行:app.run() 并调用 python app.py 将输出更多有用的诊断信息,如堆栈跟踪

标签: python flask


【解决方案1】:

如果您在此处输入正确,则错误是 importet 模块拼写错误(Flask 必须大写)。 这里是正确的方法:

from flask import Flask

app = Flask(__name__)

@app.route("/")
def index():
    return "Hello Wolford"

@app.route("/greeting/")
def greeting():
    return "Nice to see you"

【讨论】:

  • 那行得通。谢谢!!!!!!
  • 关于如何使错误消息更详细的任何想法?它告诉你哪个模块有导入错误?
  • 要调试它:运行python app.py(在app.py 的末尾添加app.run() 之后,如果您还没有将它包装在if __name__ == "__main__": 中)
  • 启动一个python shell,并尝试导入appfrom app import create_app app = create_app 你会在终端上得到错误。
【解决方案2】:

当导入的模块中出现错误时也会发出此错误。开始调试此类错误的一个好方法是使用python 直接运行该文件(无需烧瓶运行)。不要忘记调用app 函数。如果您使用 Flask 的 Application Factory 模式,只需添加以下行。

if __name__ == "__main__":
    create_app().run()

然后运行应用程序:python app.py

【讨论】:

    猜你喜欢
    • 2021-12-17
    • 2021-12-24
    • 2016-02-22
    • 1970-01-01
    • 2021-12-30
    • 2022-01-04
    • 1970-01-01
    • 1970-01-01
    • 2017-04-29
    相关资源
    最近更新 更多