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

部署Docker Flask镜像到AWS ECS服务时遇ImportError问题求助

解决Docker Flask镜像部署AWS ECS时的Werkzeug导入错误

问题分析

虽然你指定了Werkzeug==2.2.3,但大概率是以下原因导致的:

  • 镜像构建时pip缓存了旧依赖,或其他依赖间接触发Werkzeug版本升级
  • ECS拉取了未正确锁定依赖的旧镜像
  • 部分PyPI源的Werkzeug==2.2.3包出现损坏/版本不一致

解决步骤

  • 强制锁定所有相关依赖的精确版本
    在requirements.txt中同时锁定Flask和Werkzeug的版本(Flask 2.2.x与Werkzeug 2.2.x完全兼容):

    Flask==2.2.3
    Werkzeug==2.2.3
    # 其他依赖也建议用==锁定精确版本
    

    构建镜像时禁用pip缓存,避免旧依赖干扰:

    RUN pip install --no-cache-dir -r requirements.txt
    
  • 验证镜像内的依赖实际版本
    本地运行镜像后执行命令确认Werkzeug版本:

    docker exec <容器ID> pip show werkzeug
    

    如果版本不是2.2.3,生成依赖树排查冲突:

    docker exec <容器ID> pipdeptree | grep werkzeug
    

    找到间接升级Werkzeug的依赖包,在requirements.txt中强制锁定其版本,或在Dockerfile中添加强制重装命令:

    RUN pip install werkzeug==2.2.3 --force-reinstall --no-cache-dir
    
  • 清理ECS部署缓存

    • 确保ECS任务定义使用带明确tag的镜像(如your-image:v2),而非latest,避免拉取旧镜像
    • 手动重启ECS服务,触发全新任务部署,确保容器基于最新构建的镜像启动
  • 临时降级Werkzeug版本(可选)
    如果上述方法无效,尝试降级到无兼容性问题的版本:

    Werkzeug==2.2.2
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 03:39:59