Arhn - архитектура программирования

Отладка фляжного приложения в коде Visual Studio на Windows

Я пытаюсь отлаживать приложение python flask из VSCode, используя расширение VSCode-Python. Согласно двум документам, есть 2 способа заставить его работать:

  • Используйте параметр "module":"flask.cli" в файле launch.json.
  • Используйте сценарий запуска, который импортирует модуль flask.cli. Описано здесь

В обоих случаях я получаю: OSError: Windows error 1. Похоже, это ошибка, указывающая на то, что функция main, импортированная из flask.cli, не существует.

Я использую виртуалэнв. Если я пытаюсь запустить из командной строки, приложение работает нормально.

Вот содержимое settings.json (env — это папка, содержащая скрипты окружения):

{
  "python.pythonPath": "${workspaceRoot}\\backend\\env\\Scripts\\python.exe"
}

А вот и файл launch.json:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Flask (0.11.x or later)",
            "type": "python",
            "request": "launch",
            "stopOnEntry": false,
            "pythonPath": "${config:python.pythonPath}",
            "cwd": "${workspaceRoot}",
            "module":"flask.cli",
            "env": {
                "FLASK_APP": "${workspaceRoot}\\backend\\app.py"
            },
            "args": [
                "run",
                "--no-debugger",
                "--no-reload"
            ],
            "debugOptions": [
                "WaitOnAbnormalExit",
                "WaitOnNormalExit",
                "RedirectOutput"
            ]
        }
    ]
}

Вот полная трассировка стека ошибок:

runpy.py:125: RuntimeWarning: 'flask.cli' found in sys.modules after import of package 'flask', but prior to execution of 'flask.cli'; this may result in unpredictable behaviour
  warn(RuntimeWarning(msg))
line 205, in run_module return _run_module_code(code, init_globals, run_name, mod_spec)
line 96, in _run_module_code mod_name, mod_spec, pkg_name, script_name)
line 85, in _run_code exec(code, run_globals)
line 517, in <module> main(as_module=True)
line 513, in main cli.main(args=args, prog_name=name)
line 380, in main return AppGroup.main(self, *args, **kwargs)
line 707, in main e.show()
line 47, in show echo(self.ctx.get_usage() + '\n', file=file, color=color)
line 259, in echo file.write(message)
line 180, in write return self._text_stream.write(x)
line 164, in write raise OSError(self._get_error_message(GetLastError()))
OSError: Windows error 1

Ответы:


1
{
"version": "0.2.0",
"configurations": [
    {
        "name": "Flask app",
        "type": "python",
        "request": "launch",
        "stopOnEntry": false,
        "pythonPath": "${config:python.pythonPath}",
        "program": "${file}",
        "cwd": "${workspaceRoot}",
        "env": {
            "FLASK_APP": "${workspaceRoot}\\backend\\app.py"
        },
        "args": [
            "run",
            "--no-debugger",
            "--no-reload"
        ],
        "envFile": "${workspaceRoot}/.env",
        "debugOptions": [
            "WaitOnAbnormalExit",
            "WaitOnNormalExit",
            "RedirectOutput"
        ]
    }
],
"compounds": []
}

Я думаю, вам следует удалить «module»: «flask.cli», потому что у меня это не сработало.

28.11.2017
  • Я не проверял наш подход. В конце концов, мне удалось заставить его работать с flask.cli, ошибка заключалась в том, что я указывал на неправильный файл python. Сообщение об ошибке меня сильно смутило 29.11.2017
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..