Я новичок в разработке 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/отладка
Репо для справки: 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
Содержание 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) После запуска приложения с указанными выше настройками я не могу остановить службу. т. е. даже после остановки отладчика приложение работает. Я вижу, что запросы обслуживаются через вывод терминала и Postman. Процесс кажется живым, пока VS Code не будет закрыт.
Может ли кто-нибудь пролить свет?






Похоже, включение автоматической перезагрузки (путем удаления флага --no-reload) приводит к тому, что отладчик VS Code больше не работает. Парни из кода VS говорят, что работают над этим: https://github.com/Microsoft/vscode-python/issues/4355.
Итак, на данный момент вы должны добавить флаги «no-reload» и «no-debugger» в раздел аргументов 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
}
Подробнее здесь.
Спасибо! Я был сбит с толку, потому что мне нужен был отладчик, а не отладчик FLASK. Отключите отладчик Flask с помощью аргумента --no-debugger и дайте возможность работать отладчику VS Code. Хороший
Похоже, они повторно представили подобную ошибку в vscode 1.50, и это творило чудеса :)
по какой-то причине мне пришлось удалить «FLASK_DEBUG»: «0», а также перезапустить визуальный код, после чего он начинает попадать в точку отладки.
Это было опубликовано в github.com/Microsoft/vscode-python/issues/4355 . Там есть потенциальное решение.