#python #azure #azure-functions
#python #azure #azure-функции
Вопрос:
У меня есть приложение функций Azure на python, которое выполняется локально и ранее было опубликовано в Azure с помощью следующей команды:
(.env) PS C:temppython_function> func azure functionapp publish httpgengraph --build-native-deps --publish-local-settings -i
Однако я только что попробовал и получил ошибки, которые для меня очень мало значат (я не могу найти в Интернете никакой информации конкретно об этих ошибках во время публикации функции Azure).
E: The repository 'https://packages.microsoft.com/debian/9/prod stretch Release' does no longer have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: The repository 'http://security.debian.org/debian-security stretch/updates Release' does no longer have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: The repository 'http://security.debian.org/debian-security jessie/updates Release' does no longer have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: The repository 'http://deb.debian.org/debian stretch Release' does no longer have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: The repository 'http://deb.debian.org/debian stretch-updates Release' does no longer have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
Ответ №1:
--build-native-deps
для создания приложения функций Python используется контейнер docker. Я уже видел эту ошибку раньше, если в вашем docker не хватает места / памяти.
Вы можете попробовать запустить любой контейнер docker debian и запустить `apt-get update. Например-
docker run -d mcr.microsoft.com/azure-functions/python
docker exec -it <image-id-from-last-command> /bin/bash`
apt-get update
Бьюсь об заклад, это приведет к аналогичным ошибкам.
Чтобы устранить эту проблему, попробуйте удалить неиспользуемые остановленные контейнеры docker. Вы можете использовать docker system prune -a
для удаления всех остановленных контейнеров. Я бы посоветовал перепроверить, чтобы убедиться, что они не используются где-то еще.
Если вы все еще видите проблемы после очистки некоторого выделенного пространства, дайте мне знать.
Комментарии:
1. Привет, Анкит, я проверил, и у меня нет контейнеров, остановленных или иным образом: (.env) PS C:temppython_function > команда docker container ls CONTAINER ID IMAGE СОЗДАЛА ИМЕНА ПОРТОВ СОСТОЯНИЯ. Я новичок в Python и подумал, что мне нужен переключатель build-native-deps, чтобы гарантировать, что мои нестандартные пакеты Python будут включены в сборку? Это правильно? Я собираюсь попробовать еще раз и посмотреть, что произойдет. Сообщит, если результат тот же.
2. Я попробовал без переключателя и, как и ожидалось, получил эту ошибку: произошла ошибка восстановления зависимостей. ОШИБКА: не удается установить зависимость uuid-1.30: двоичные зависимости без колес не поддерживаются. Используйте параметр —build-native-deps для автоматического создания и настройки зависимостей с помощью контейнера Docker. Дополнительная информация на aka.ms/func-python-publish
3. Принимая это как ответ, как это было, но просто потребовалась другая строка исправления. После перезагрузки моего компьютера я заметил, что у Docker была ошибка нехватки памяти (и он не мог запуститься). Я уменьшил полезную память до 1 ГБ, перезапустил, и теперь кажется, что функция публикуется нормально. Однако очень странная ошибка, возникающая в результате нехватки памяти! Спасибо Ankit!