【问题标题】:Flask Error in Python: "Could not import webapp"Python 中的 Flask 错误:“无法导入 webapp”
【发布时间】:2020-06-25 23:47:28
【问题描述】:

我正在尝试运行烧瓶,但是,每当我输入 [flask run] 时,它都会给我一个错误:Could not import webapp。作为参考,我正在使用 Visual Studio Code 并运行以下代码:

from flask import Flask

app = Flask(__name__)

@app.route("/")
def index():
    return "Hello, world!"

我收到以下错误消息:

 * Serving Flask app "webapp"
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
Usage: flask run [OPTIONS]
Error: Could not import "webapp".

【问题讨论】:

  • 请提供 stps 你是如何运行flask的

标签: python flask


【解决方案1】:

您的 FLASK_APP 变量可能没有正确配置。你能确定:

  1. 您的文件(带有此代码的文件)名为 webapp.py 或
  2. 或者,您的 FLASK_APP 变量(无论您如何设置)设置为包含此代码的文件的文件名。

【讨论】:

    【解决方案2】:

    如果您使用 .flaskenv 或仅使用 shell 设置 FLASK_ENV 变量,请确保您没有任何拼写错误。这是一个非常简单的错误,经常被忽视。

    【讨论】:

      【解决方案3】:

      这个错误是因为你设置了FLASK_APP环境变量,而你的脚本名称不同。

      我建议你:

      1. 将您的脚本名称(您必须在其中编写给定代码的文件)更改为 webapp.py

      2. 将环境变量FLASK_APP设置为你的脚本名,即 在 Windows 中 set FLASK_APP=<script-name> 或在 ubuntu(Linux) 中 export FLASK_APP=<script-name>

      【讨论】:

        【解决方案4】:

        错误是因为VS Code tutorial for Flask中的文档不正确。

        1. 要更正此错误,请在教程中将 FLASK_APP 设置为 hello_app.webapp
        {
            "version": "0.2.0",
            "configurations": [
                {
                    "name": "Python: Flask",
                    "type": "python",
                    "request": "launch",
                    "module": "flask",
                    "env": {
                        "FLASK_APP": "hello_app.webapp"
                    },
                    "args": [
                        "run",
                        "--no-debugger",
                        "--no-reload"
                    ],
                    "jinja": true
                }
            ]
        }
        
        
        1. 在终端中,运行 export set FLASK_APP=hello_app.webapp 而不是教程中提到的 export set FLASK_APP=webapp
        2. 最后,运行python3 -m flask run

        【讨论】:

          【解决方案5】:

          忘记烧瓶命令行启动器并按照this answer 所说的那样做:

          将这些行添加到您的 python 脚本中:

          if __name__ == '__main__':
            app.run(host='0.0.0.0', port=30006, debug=True)
          

          在放置此代码的同一目录中运行。

          python3 file_name.py
          

          您可以访问它

          http://0.0.0.0:30006/
          

          对您而言,您似乎将文件命名为 webapp.py,因此您可以运行:

          python webapp.py
          

          【讨论】:

            【解决方案6】:

            确保在运行应用程序时检查您的工作目录/基本文件夹。

            (base) D:\Pyl\GitHubRepo\FlaskApp\FlaskApp>flask run
            

            同一文件夹(D:\Pyl\GitHubRepo\FlaskApp\FlaskApp) 应包含app.py 文件

            app.py 文件是您要运行的脚本文件。 如果它不起作用:这样做set FLASK_APP=app(在 Windows 中) 这里的 'app' 是你的脚本文件名,没有 py 扩展名。 此外,如果您更改脚本名称,则需要重置 FLASK_APP 变量。

            【讨论】:

              猜你喜欢
              • 2014-12-19
              • 2022-11-17
              • 1970-01-01
              • 1970-01-01
              • 2014-01-29
              • 1970-01-01
              • 2020-04-16
              相关资源
              最近更新 更多