You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Linux Web App部署Django遇ImportError问题求助

解决Azure Linux Web App中Django部署的ImportError: cannot import name 'Sequence' from 'collections'问题

问题背景

将Django应用部署为Azure Linux Web App后,原本正常运行数月,但近期通过AzDO CI/CD流水线部署后,启动时触发如下错误:

ImportError: cannot import name 'Sequence' from 'collections'

错误源于Azure容器中微软提供的pathlib.py第10行代码from collections import Sequence,而官方Python 3.12版本的pathlib.py中对应的代码是from _collections_abc import Sequence。

尝试手动修改容器内的pathlib.py文件可临时解决问题,但每次部署或容器重启后,文件都会被微软发行版覆盖,无法持久生效。本地使用官方Python环境可正常运行,此前在Azure上也能正常工作,问题属于微软镜像的回归错误。

官方问题确认

通过微软支持工单得到的回复确认:

  • 这是影响多位用户的已知问题,根源是Azure App Service当前Python官方镜像对collections库的支持存在缺陷
  • Azure App Service目前最高支持Python 3.12,且不允许选择特定小版本,仅提供3.12、3.11、3.10、3.9等大版本选项,运行时镜像从Microsoft Container Registry拉取
  • 微软正在积极测试并集成最新Python版本,但暂无面向全球用户的更新时间表

临时解决方案

目前唯一可行的临时解决方法是将应用部署为自定义Docker容器(WebApp for Containers):

  • 编写自己的Dockerfile,指定官方Python镜像版本和环境配置
  • 搭配requirements.txt管理依赖,完全控制应用运行的Python环境,避免微软预构建镜像的问题

内容的提问来源于stack exchange,提问作者Nathan Scott

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 17:06:09