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

如何在PowerShell中强制pip安装x86_64架构依赖制作Lambda层?

解决AWS Lambda层中Pydantic/Pydantic_core架构不兼容问题

一、PowerShell中强制pip为Linux x86_64架构安装依赖

Lambda运行在Amazon Linux 2(x86_64)环境,Windows直接安装会获取到win_amd64版本的包,导致架构不兼容。可以通过pip的平台指定参数,强制拉取匹配Lambda环境的包并安装到指定目录:

在PowerShell执行以下命令:

pip install pydantic==2.4.2 pydantic_core==2.10.1 --platform manylinux_x86_64 --python-version 311 --implementation cp --abi cp311 --target ./lambda-layer/python/lib/python3.11/site-packages --only-binary=:all: --no-cache-dir

参数说明:

  • --platform manylinux_x86_64:指定目标平台为Linux x86_64,匹配Lambda运行环境
  • --python-version 311:对应Lambda使用的Python 3.11版本(需写成两位数字格式)
  • --implementation cp:指定为CPython(Lambda官方使用CPython,而非PyPy)
  • --abi cp311:匹配CPython 3.11的ABI版本
  • --target:指定安装目录需符合Lambda层的结构要求,最终打包时直接将python目录放入zip即可
  • --only-binary=:all::强制下载二进制包,避免在Windows上尝试编译Linux源码包
  • --no-cache-dir:清除缓存,防止复用之前下载的Windows版本包

二、手动选择Pydantic_core的whl包

你之前尝试的两个包是PyPy版本的,与Lambda的CPython环境不兼容,正确选择应为CPython 3.11对应的manylinux_x86_64版本:
正确包名:pydantic_core-2.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

  • 前缀cp311表示适配CPython 3.11,与Lambda的Python版本完全匹配
  • manylinux_2_17_x86_64是兼容Amazon Linux 2的Linux x86_64二进制包

手动安装命令:

pip install ./pydantic_core-2.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl pydantic==2.4.2 --target ./lambda-layer/python/lib/python3.11/site-packages

三、验证与打包

  1. 安装完成后,检查./lambda-layer/python/lib/python3.11/site-packages/pydantic_core目录下是否存在_pydantic_core.so文件(Linux平台二进制文件,而非Windows的.pyd文件)
  2. 将python目录直接打包为zip(确保zip根目录是python文件夹,不要嵌套层级)
  3. 上传该zip到Lambda层,并关联至你的Python 3.11 x86_64函数即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 18:22:19