Точки останова не работают в VS Code при отладке приложения Python Flask - PullRequest
0 голосов
/ 08 февраля 2019

Я новичок в разработке Python Flask и VS Code.Я пытался создать приложение, ссылаясь на учебники ниже.

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

https://github.com/Microsoft/python-sample-vscode-flask-tutorial\

https://code.visualstudio.com/docs/python/debugging

Репо для справки: https://github.com/iamshivprasad/analytics

Структура клонированной папки:

- Development
  - .vscode
    - launch.json
  - analyticspyengine
    - analytics_modules
    - controllers
    - datainterfaces
    - utils
    - __init__.py
    - analyticsservices.py
    - webapp.py
    .
    .
    .

Я могу успешно запустить программу с указанными ниже параметрами в файле launch.json.

     {
        "name": "Python: Flask",
        "type": "python",
        "request": "launch",
        "module": "flask",
        "env": {
            "FLASK_APP": "analyticspyengine.webapp",
            "FLASK_DEBUG": true,
            "FLASK_ENV": "development"
        },
        "args": [
            "run"
        ],
        "jinja": true
    }

Содержимое webapp.py

#!/usr/bin/python3
import sys
from . import app   
from . import analyticsservices

Содержимоеof analyticspyengine / __init__.py

#!/usr/bin/python3
import sys, os
sys.path.insert(0, os.path.join(os.path.dirname(__file__)))

from flask import Flask
app = Flask(__name__) 

Я сталкиваюсь со следующими проблемами.Совершенно беспомощный и разочарованный !!!

1) Выполнение не затрагивает точки останова

2) После запуска приложения с указанными выше настройками я не могу остановить службу.т. е. даже после остановки отладчика приложение кажется работающим.Я вижу, что запросы обслуживаются через терминал и почтальон.Процесс кажется живым до тех пор, пока код VS не будет закрыт.

Может ли кто-нибудь пролить свет?

1 Ответ

0 голосов
/ 03 июня 2019

Похоже, что включение автоматической перезагрузки (снятие флага "--no-reload") делает отладчик VS Code больше не работающим.Парни из VS-кода говорят, что работают над этим: https://github.com/Microsoft/vscode-python/issues/4355.

Итак, на данный момент вы должны добавить флаги "no-reload" и "no-debugger" в раздел args launch.json.

Эта конфигурация launch.json заставит отладчик VS Code работать:

{
    "name": "Python: Flask",
    "type": "python",
    "request": "launch",
    "module": "flask",
    "env": {
        "FLASK_APP": "application.py",
        "FLASK_ENV": "development",
        "FLASK_DEBUG": "0"
    },
    "args": [
        "run",
        "--no-debugger",
        "--no-reload"
    ],
    "jinja": true
}

Подробнее здесь .

...