Настройка пользовательского модуля запуска с путями в качестве значений параметров в VS Code (Flask - путь сертификата) - PullRequest
1 голос
/ 14 марта 2019

В есть пример учебника по настройке Python для Visual Studio , в котором показано, как настроить Flask. Моя проблема начинается, когда я пытаюсь предоставить пути к самозаверяющим сертификатам. Я попытался добавить следующую конфигурацию:

    {
        "name": "Python: Flask",
        "type": "python",
        "request": "launch",
        "module": "flask",
        "env": {
            "FLASK_APP": "app.py"
        },
        "args": [
            "run",
            "--debugger",
            "--no-reload",
            "--host",
            "0.0.0.0",
            "--port",
            "4443",
            "--key",
            "${workspaceFolder}\\viberbot\\key.pem",
            "--cert",
            "${workspaceFolder}\\viberbot\\certificate.pem"
        ],
        "jinja": true
    },

Я пытался предоставить ключ / сертификат как:

  • C: \\ полный_путь \\ К \\ FILE
  • C: / Полный_путь / TO / FILE
  • C: \\ Полный_путь \\ К \\ FILE '
  • \ "C: \\ Полный_путь \\ К \\ FILE \"

и я всегда получаю одно из следующих сообщений об ошибке: Error: Invalid value for "--key": "--cert" must also be specified. или Error: Invalid value for "--key": File ""E:\Docs\learn_py\viberbot\key.pem"" does not exist.

Это точная команда, сгенерированная расширением VS Code:

cd e: \ Docs \ learn_py && cmd / C "set" FLASK_APP = app.py "&& set "PYTHONIOENCODING = UTF-8" && set "PYTHONUNBUFFERED = 1" && C: \ Users \ пользователь \ AppData \ Local \ Programs \ Python \ Python37 \ python.exe C: \ Users \ user.vscode \ расширения \ мс-python.python-2019.2.5558 \ pythonFiles \ ptvsd_launcher.py --default --client --host localhost --port 50573 -m флакон запустить --debugger --no-reload --host 0.0.0.0 --port 4443 - ключ E: \ Docs \ learn_py \ viberbot \ key. pem --cert E: \ Docs \ learn_py \ viberbot \ certificate.pem "Использование: запуск python -m flask [ОПЦИИ] Попробуйте "python -m flask run --help" для получения справки.

Ошибка: недопустимое значение для «--key»: «--cert» также должно быть указано.

ОБНОВЛЕНИЕ: после внесения изменений, предложенных Бреттом, я начал получать еще одну ошибку:

 * Serving Flask app "app.py"
 * Environment: development
 * Debug mode: off
Usage: python -m flask run [OPTIONS]

Error: Could not import "app".

Я пытался изменить app.py на ${workspaceFolder}\\viberbot\\app.py или указывал путь типа /E/path/viberbot/app.py, и он не работал.

ОБНОВЛЕНИЕ 2: мне нужно было сделать "FLASK_APP": "viberbot\\app.py"

1 Ответ

1 голос
/ 15 марта 2019

Возможно, это связано с тем, что пример в учебнике устарел по сравнению со стандартным кодом, предоставляемым VS Code. Попробуйте:

{
            "name": "Flask",
            "type": "python",
            "request": "launch",
            "module": "flask",
            "env": {
                "FLASK_APP": "app.py",
                "FLASK_ENV": "development",
                "FLASK_DEBUG": "0"
            },
            "args": [
                "run",
                "--no-debugger",
                "--no-reload",
                "--cert",
                "${workspaceFolder}\\viberbot\\certificate.pem",
                "--key",
                "${workspaceFolder}\\viberbot\\key.pem"
            ],
            "jinja": true
        }
...