Отладка функции Python Azure (HTTPTrigger) в VSCode не запускается Func Host Start Start должным образом

Вопрос: введите здесь описание изображения

Все зависимости, такие как Python 3.6, переменные среды Windows, все установлены, необходимое требование.txt было вручную установлено в моем .env (моя виртуальная среда), установлен клиент API,

Ошибка: я получаю следующее: h

Мой launch.json выглядит так, не знаю, как это исправить - я подозреваю, что проблема в конфигурации vscode.

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Attach to Python Functions",
      "type": "python",
      "request": "attach",
      "port": 9091,
      "host": "localhost",
      "preLaunchTask": "runFunctionsHost"
    }
  ]
}

Любое направление или помощь приветствуется.




Ответы (3)


Вы можете обновить файл .vscode/tasks.json на что-то вроде этого для использования bash

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "runFunctionsHost",
      "type": "shell",
      "osx": {
        "command": ". ${config:azureFunctions.pythonVenv}\\bin\\activate && func extensions install && pip install -r requirements.txt && func host start"
      },
      "windows": {
        "command": ". ${config:azureFunctions.pythonVenv}/Scripts/activate ; func extensions install ; pip install -r requirements.txt ; func host start"
      },
      "linux": {
        "command": ". ${config:azureFunctions.pythonVenv}\\bin\\activate && func extensions install && pip install -r requirements.txt && func host start"
      },
      "isBackground": true,
      "options": {
        "env": {
          "languageWorkers__python__arguments": "-m ptvsd --host 127.0.0.1 --port 9091"
        }
      },
      "problemMatcher": "$func-watch"
    },
    {
      "label": "funcPack",
      "type": "shell",
      "osx": {
        "command": ". ${config:azureFunctions.pythonVenv}\\bin\\activate && func pack"
      },
      "windows": {
        "command": ". ${config:azureFunctions.pythonVenv}/Scripts/activate ; func pack"
      },
      "linux": {
        "command": ". ${config:azureFunctions.pythonVenv}\\bin\\activate && func pack"
      },
      "isBackground": true
    }
  ]
}

Обратите внимание на изменение command для windows.

person PramodValavala-MSFT    schedule 11.12.2018
comment
Это сработало для меня, чтобы подключить bash с функцией python azure для локальной отладки. - person Chandra; 14.12.2018

Чтобы упростить задачу тем, кто столкнется с этой проблемой в будущем, используйте приведенный ниже снимок экрана при редактировании файла task.json, как указано @PramodValavala-MSFT.

введите здесь описание изображения снимок экрана task.json

person Chandra    schedule 14.12.2018

Обновить

Это было исправлено с момента расширения Функций Azure v0.14.0.

Удалены специальные разделители терминала из конфигурации отладки.


Исходный ответ

Нажмите settings.json под каталогом .vscode, затем нажмите USER SETTINGS.

Проверьте настройку "terminal.integrated.shell.windows", ее значение должно быть powershell.exe. Задача отладки использует разные команды в зависимости от ОС, а команда для Windows работает только для PowerShell.

person Jerry Liu    schedule 09.12.2018
comment
Хорошее временное решение, изменив настройки VSCode для бесперебойной работы с powershell в качестве терминала по умолчанию. Однако приведенные ниже настройки для task.json из @PramodValavala-MSFT работают хорошо! - person Chandra; 14.12.2018
comment
@Chandra Хорошее решение, мое предложение призвано помочь тем, кто может не нуждаться в bash и не хочет редактировать task.json в каждом новом проекте. Команда работает над рефакторингом команды, чтобы мы могли избегайте этих ручных настроек в будущем. - person Jerry Liu; 14.12.2018