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

AWS Lambda部署FastAPI报错:找不到pydantic_core._pydantic_core模块

解决AWS Lambda中"No module named 'pydantic_core._pydantic_core'"错误

可能的原因及解决办法

1. 依赖打包架构不兼容

Lambda运行在x86_64架构的Amazon Linux 2环境,如果你在ARM架构设备(比如M1/M2 Mac)本地打包依赖,pydantic_core会编译成ARM版本,上传到Lambda后无法识别,导致找不到底层模块。

解决方法:

  • 用Docker模拟Lambda环境打包:
    拉取AWS官方的Python构建镜像,在容器内安装依赖,确保架构兼容:
    docker run -v "$PWD:/var/task" public.ecr.aws/sam/build-python3.10:latest /bin/sh -c "pip install -r requirements.txt -t ."
    
  • 使用AWS SAM CLI打包:
    执行sam build命令,SAM会自动在兼容Lambda的环境中构建依赖,避免架构问题。

2. requirements.txt依赖配置问题

单独指定pydantic_core可能导致版本不匹配,FastAPI依赖pydantic,而pydantic会自动管理适配的pydantic_core版本。

解决方法:

  • 移除requirements.txt中的pydantic_core,替换为指定pydantic版本(根据你的FastAPI版本调整,FastAPI 0.100+推荐pydantic v2):
    fastapi>=0.100.0
    pydantic>=2.0.0
    uvicorn>=0.23.2
    
  • 若必须单独指定pydantic_core,选择与Python 3.10、x86_64架构兼容的版本,比如:
    pydantic_core==2.10.1
    

3. 打包时依赖未正确包含

打包过程中可能遗漏了pydantic_core的底层二进制文件,或者目录结构不符合Lambda的要求。

解决方法:

  • 检查本地打包目录,确认pydantic_core文件夹下存在_pydantic_core.so(Linux x86_64版本的二进制文件)。
  • 使用正确的zip命令打包,避免排除必要文件:
    zip -r lambda-deployment.zip . -x "*.pyc" "__pycache__/*"
    

4. Lambda层配置问题(若使用了层)

如果将依赖放在Lambda层,可能层的架构不兼容或部署未生效。

解决方法:

  • 重新构建Lambda层,确保使用兼容x86_64架构的环境打包。
  • 检查层的目录结构,确认python/lib/python3.10/site-packages下包含pydantic_core的所有文件,然后重新关联到Lambda函数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 11:08:12