Flask 教程:无法在 Visual Studio Code 1.37.1 中导入应用程序

Pac*_*ver 1 flask python-3.x visual-studio-code

我正在尝试在我的 macOS 计算机上使用 Visual Studio Code 学习 Python3 / Flask。

使用:

  • macOS 莫哈维 (10.14.6)
  • Visual Studio 代码 1.37.1
  • Python 3.7.4 64 位(venv)

尝试了以下教程中的说明:

https://code.visualstudio.com/docs/python/tutorial-flask

  1. 在新创建的 hello_flask 文件夹中创建了一个虚拟环境:
   python3 -m venv venv
Run Code Online (Sandbox Code Playgroud)
  1. 通过运行以下命令在 VS Code 中打开项目文件夹:
   code .
Run Code Online (Sandbox Code Playgroud)
  1. 打开命令面板 (Shift-Cmd-P) 并输入/选择:
Python:Select Interpreter
Run Code Online (Sandbox Code Playgroud)
  1. 选择Python 3.7.4 64位('venv':venv)
  2. 打开命令面板 (Shift-Cmd-P) 并输入/选择:
Terminal: Create New Integrated Terminal
Run Code Online (Sandbox Code Playgroud)
  1. 使用以下命令通过 VS Code 终端安装 Flask:
pip3 install flask
Run Code Online (Sandbox Code Playgroud)
  1. 创建一个名为 app.py 的新文件并输入以下源代码:
from flask import Flask
app = Flask(__name__)

@app.route("/")
def home():
    return "Hello, Flask!"
Run Code Online (Sandbox Code Playgroud)
  1. 当尝试在 VS Code 的终端中运行它时:
(venv) user1@devbox:~/hello_flask$ python3 flask run
Run Code Online (Sandbox Code Playgroud)

输出:

/Library/Frameworks/Python.framework/Versions/3.7/Resources/Python.app/Contents/MacOS/Python: can't open file 'flask': [Errno 2] No such file or directory
(venv) user1@devbox:~/hello_flask$
Run Code Online (Sandbox Code Playgroud)
  1. 当尝试这样做时:
(venv) user1@devbox:~/hello_flask$ flask run
Run Code Online (Sandbox Code Playgroud)

输出:

 * Serving Flask app "app.py"
 * 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 "app".
Run Code Online (Sandbox Code Playgroud)
  1. 甚至尝试过这个:
export FLASK_APP=app.py
Run Code Online (Sandbox Code Playgroud)

输出:

 * Serving Flask app "app.py"
 * 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 "app".
Run Code Online (Sandbox Code Playgroud)

我可能做错了什么?

官方文档有问题吗

微软< https://code.visualstudio.com/docs/python/tutorial-flask >?

Tok*_*kci 7

我在 vscode 中更新了 launch.json。我的 app.py 位于 src 文件夹中。我的终端始终指向 Downloads/model_api/ 而我的 app.py 位于 Downloads/model_api/src/app.py

 "FLASK_APP": "app.py"  --> "FLASK_APP": "src/app.py"
Run Code Online (Sandbox Code Playgroud)

从 vscode 完成 launch.json:

    "configurations": [
    {
        "name": "Python: Flask",
        "type": "python",
        "request": "launch",
        "module": "flask",
        "env": {
            "FLASK_APP": "src/app.py", # make update here
            "FLASK_ENV": "development",
            "FLASK_DEBUG": "0"
        },
        "args": [
            "run",
            "--no-debugger",
            "--no-reload"
        ],
        "jinja": true
Run Code Online (Sandbox Code Playgroud)

vscode 中 launch.json的详细信息