Почему я не могу отладить свое приложение flask с помощью VSCode

#flask #visual-studio-code

Вопрос:

 from   flask  import Flask, render_template, request, url_for, g

app = Flask(__main__)

# This is the entrypoint
@app.route('/')
def index():
  # Render page
  return 'Hello'

if __name__=='__main__':
  app.run(debug=True)
 

Когда я пытаюсь запустить это в отладчике VSCode, я получаю:

  * Serving Flask app 'gui' (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
No module named gui
 

Я установил точку останова в строке «app.run(debug=True)», и она действительно выполняется до этого момента, но когда я пытаюсь перейти или войти, я получаю ошибку.

Я попытался изменить имя файла с gui.py чтобы app.py и у меня то же самое, только там написано:

  * Serving Flask app 'app' (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
No module named app
 

Что я делаю не так/чего не хватает?

Комментарии:

1. Как вы запускаете сервер? Вы пробовали посетить этот адрес?

Ответ №1:

Для отладки flask с VSCode вам необходимо правильно настроить файлы setting.json и launch.json , вот возможная конфигурация:

настройки.json

 {
    "python.pythonPath": "<your_python_venv_path>",
}
 

запуск.json

 {
    "version": "0.2.0",
    "configurations" : [
        {
            "name": "local",
            "type": "python",
            "stopOnEntry": false,
            "request": "launch",
            "program" : "${workspaceFolder}/<path_to_run.py>",
            "console" : "integratedTerminal",
            "justMyCode" : false,
            "cwd": "${workspaceFolder}"
        }
    ]
}
 

Также взгляните сюда

Комментарии:

1. Я заметил название__/__основной вопрос вскоре после того, как я опубликовал это, и исправил его. Я изменил свой файл launch.json, как вы предлагаете, но у меня все еще возникает та же проблема.

2. Вы читали документ Microsoft? code.visualstudio.com/docs/python/tutorial-flask . Вы правильно используете виртуальную среду python? Пожалуйста, обновите журналы flask после исправления инициализации приложения.