Код: Выделить всё
from collections import SequenceОфициальная версия pathlib.py (https://github.com/python/cpython/blob /3.12/Lib/pathlib.py) читает
Код: Выделить всё
from _collections_abc import SequenceЭто известная проблема, и ее можно решить путем перехода с версии MS на более позднюю официальную версию. версия. Проблема в том, что эта проблема связана с дистрибутивом MS, а не с моим кодом или даже с версией библиотеки, которая устанавливается с помощью pip. Даже если вы измените его, любое развертывание заменяет правильную версию версией в дистрибутиве MS.
Приложение отлично работает локально с официальным pathlib.py и ранее работало нормально в Azure. . Это похоже на ошибку регрессии используемой библиотеки. Я пробовал редактировать версию pathlib.py для Azure, но она перезаписывается при каждом перезапуске или повторном развертывании [контейнера].
Как изменить версию pathlib.py, используемую Azure или иное решение этой проблемы, пожалуйста?
ОБНОВЛЕНИЕ: я обратился в службу поддержки Microsoft через свою подписку VS Pro, и вот ответ.
[От] Технический консультант по Службе приложений Azure Команда разработчиков программного обеспечения с открытым исходным кодом, Индия.
Спасибо, что обратились к нам и поделились своими мыслями относительно проблемы «Ошибка импорта: невозможно импортировать имя «Последовательность» из «коллекций». Мы также просмотрели ваше сообщение StackOverflow и признаем, что это известная проблема, затрагивающая несколько пользователей.
Как вы правильно заметили, эта проблема возникает из-за ограниченной поддержки библиотеки коллекций в текущие версии благословенного образа Python, доступные в Службе приложений Azure. Мы понимаем проблемы, которые это создало для наших пользователей, и многие из них внедрили обходной путь, используя собственные контейнеры (WebApp for Containers) со своими собственными файлами Dockerfile и require.txt для обеспечения совместимости.
В настоящее время , последняя версия Python, доступная на рынке, — 3.13.1, а Служба приложений Azure поддерживает Python до версии 3.12.
Как вы, возможно, знаете, Azure не предлагает возможности выбрать конкретную версию Python. минорная версия Питон; Доступны только основные версии, такие как 3.12, 3.11, 3.10 и 3.9. Пользователи могут подтвердить дополнительную версию, предоставленную в их среде Службы приложений вместе с дистрибутивом Linux, открыв терминал SSH.
Служба приложений Azure использует реестр контейнеров Microsoft (MCR) для получения официальной версии. Образы Python, если настроена версия среды выполнения. Например, при выборе Python 3.12 Azure извлекает соответствующее изображение из MCR. Чтобы обеспечить совместимость перед развертыванием приложения, вы можете обратиться к официальным образам Python для Службы приложений Azure по адресу:
Образы Python для реестра контейнеров Microsoft.
Мы хотим заверить вас, что Microsoft активно работает над тестированием и интеграцией последних версий Python в Службу приложений Azure. Однако в настоящее время у нас нет точного времени, когда эти обновления будут доступны для наших конечных пользователей по всему миру.
Ваши отзывы неоценимы, и ваши проблемы рассматриваются с помощью высший приоритет. Мы стремимся предоставлять нашим клиентам лучший сервис и прилагаем все усилия, чтобы решить эти проблемы как можно быстрее.
Спасибо за ваше терпение и понимание. Если у вас возникнут дополнительные вопросы или вам понадобится помощь в реализации обходных решений, обращайтесь к нам.
Другими словами, MS знает, что это проблема, и в настоящее время не имеет решения для нее. Их обходной путь — развернуть приложение как контейнер Docker.
Подробнее здесь: https://stackoverflow.com/questions/776 ... e-linux-we
Мобильная версия