Развертывание функций Azure в коде VS с использованием среды conda.Python

Программы на Python
Anonymous
Развертывание функций Azure в коде VS с использованием среды conda.

Сообщение Anonymous »


У меня возникла небольшая проблема с несогласованностью настроек Python в коде VS при попытке локального запуска функций Azure. Я пытаюсь избежать использования среды «venv», которую код VS автоматически устанавливает для проекта функции Azure, и вместо этого использую предварительно созданную среду conda, которую я создал, и в которой установлены все требования. Просто чтобы уточнить, речь идет о локальном развертывании и не лазурный портал.

myfunc__init__.py:

импортировать JSON журнал импорта время импорта импортировать azure.functions как func импортировать панд как pd # Здесь происходит ошибка импорта! def main(req: func.HttpRequest) -> func.HttpResponse: ... .vscode\Settings.json:

{ // Локальный компьютер Conda VENV (определить CONDAPATH в среде Windows) "python.condaPath": "%CONDAPATH%", "python.pythonPath": "%CONDAPATH%\\envs\\azure\\python.exe", "azureFunctions.pythonVenv": "%CONDAPATH%\\envs\\azure", // Создан локальный VENV с помощью VS Code (pythonPath — это разница для MAC и Windows) //"azureFunctions.pythonVenv": ".venv", // Материалы функций Azure "azureFunctions.deploySubpath": ".", «azureFunctions.scmDoBuildDuringDeployment»: правда, "azureFunctions.projectLanguage": "Python", "azureFunctions.projectRuntime": "~2", "azureFunctions.preDeployTask": "func: package --build-native-deps", "debug.internalConsoleOptions": "neverOpen", } Примечание. Если я заменю %CONDAPATH% фактическим абсолютным путем к conda, проблема останется.

На всякий случай launch.json настраивается следующим образом:

{ "версия": "0.2.0", "конфигурации": [ { "name": "Linux_PyFunc", "тип": "питон", "запрос": "прикрепить", «порт»: 9091, "preLaunchTask": "func: запуск хоста" } ] } Когда VS Code запускает функции, развертывание завершается без проблем и генерируются локальные ссылки. Как только я вызываю функцию через Postman, возвращается статус HTTP 500, который связан с невозможностью импортировать pandas с не найденным модулем ошибки. .

Если я устанавливаю "azureFunctions.pythonVenv": ".venv" в settings.json, функции развертываются локально и после запуска/вызова возвращают Статус HTTP 200 и правильный ответ.

Итак, это подводит меня к вопросу: поддерживает ли код VS среду conda для развертывания функций Azure, и если да, то чего мне здесь не хватает?

Вернуться в «Python»