Пользовательские зависимости приложения-функции, как установить пакеты Python и ссылаться на них локально?

Я пытаюсь развернуть приложение-функцию Python в Azure, однако из-за необходимой конфигурации весь исходящий трафик должен маршрутизироваться внутри. Это означает, что pip не работает во время сборки, так как не может получить доступ к PyPI. Локально я использую наш собственный артефакт для пакетов python, но это требует некоторой настройки прокси и сертификатов.

Вместо этого я видел, что вы можете сделать пользовательскую сборку, pip установив локальную для проекта

https://docs.microsoft.com/en-us/azure/azure-functions/functions-reference-python#custom-dependencies

$ pip install --target"<project-dir>/.python_packages/lib/site-packages" -r requirements.txt

Это все, что мне нужно сделать? Или мне нужно обновить импорт моего пакета, чтобы он ссылался на эту папку, и если да, то как мне это сделать правильно?

from azure.mgmt.resource import ResourceClient

стало бы?

.python_packages.lib.site-packages.azure.mgmt.resource import ResourceClient

person Ari    schedule 10.12.2020    source источник


Ответы (1)


Если вы хотите импортировать пакеты из заданной папки (например, из папки с именем packages), вы можете сделать в своем скрипте следующее.

import sys
sys.path.append("path_to_packages_folder")

Все пакеты, которые находятся в этой папке, теперь будут доступны для импорта, поэтому теперь вы можете просто выполнить обычный импорт: from azure.mgmt.resource import ResourceClient.

person sarartur    schedule 10.12.2020