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

部署FastAPI至AWS Lambda时遇pydantic_core导入错误求助

FastAPI部署到AWS Lambda时pydantic_core._pydantic_core缺失错误解决方法

错误场景

部署FastAPI到AWS Lambda时出现以下错误:

[ERROR] Runtime.ImportModuleError: Unable to import module 'users_crud': No module named 'pydantic_core._pydantic_core'

即便已安装Pydantic库,且使用AWS支持的Python 3.10版本。

问题根源

Pydantic v2及以上版本依赖底层扩展库pydantic_core,如果在Windows/macOS等非Linux环境下安装依赖,编译生成的二进制文件与AWS Lambda的Amazon Linux环境不兼容,导致部署后Lambda无法找到对应的模块文件。

解决方法

1. 在Linux环境构建兼容的依赖包

AWS Lambda运行在Linux环境下,必须确保依赖包是针对该环境编译的,推荐用Docker模拟Lambda环境:

  • 拉取Lambda兼容的Python 3.10镜像:
    docker pull public.ecr.aws/sam/build-python3.10
    
  • 启动容器并挂载本地项目目录:
    docker run -v $(pwd):/app -it public.ecr.aws/sam/build-python3.10 /bin/bash
    
  • 在容器内安装依赖到指定目录:
    pip install pydantic fastapi -t ./package
    
  • 退出容器后,将package目录下的所有文件和你的业务代码打包成zip文件,上传到AWS Lambda即可。

2. 使用Lambda层管理依赖

将Pydantic及相关依赖打包成Lambda层,便于多个函数复用:

  • 按上述Docker方法构建依赖包,将package目录下的内容打包成zip(注意不要包含package目录本身,直接压缩内部文件)
  • 在AWS控制台创建新的Lambda层,上传这个zip包,运行时选择Python 3.10
  • 在目标Lambda函数的配置中添加该层,函数即可加载兼容的Pydantic依赖

3. 降级Pydantic到v1.x版本(临时方案)

如果不需要Pydantic v2的新特性,可以降级到不依赖pydantic_core的v1.x版本:

  • 安装指定版本的Pydantic:
    pip install pydantic==1.10.12 -t ./package
    
  • 打包依赖和代码后部署到Lambda即可解决错误

内容的提问来源于stack exchange,提问作者Suhail Abdul Rehman Chougule

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 22:42:07