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

在AWS Lambda中使用pyzstd模块时遇导入错误求助

解决AWS Lambda中pyzstd模块导入失败的问题

问题原因

你在M1 Mac(ARM架构)本地安装的pyzstd是针对ARM架构编译的,而AWS Lambda默认使用x86_64架构运行环境,架构不匹配导致C/CFFI实现无法加载;另外pyzstd依赖的zstd动态库在Lambda环境中可能缺失或版本不兼容。

解决方案

  • 用Lambda兼容架构构建依赖包
    最稳妥的方式是在x86_64环境或模拟Lambda运行环境的Docker容器中安装依赖:

    1. 拉取对应Python版本的Lambda官方镜像,例如:
      docker run -v "$PWD":/var/task public.ecr.aws/lambda/python:3.11 bash
      
    2. 在容器内将pyzstd安装到本地挂载的目录:
      pip install pyzstd -t ./python/lib/python3.11/site-packages/
      
    3. 退出容器后,将python目录与处理代码一起打包上传到Lambda。
  • 安装静态链接版本的pyzstd
    安装时强制静态链接zstd库,避免依赖系统动态库:

    pip install pyzstd --install-option="--static-link-zstd"
    

    (建议在Docker的Lambda环境中执行此命令,确保编译结果适配Lambda)

  • 切换Lambda运行架构为ARM64
    在Lambda控制台创建或修改函数时,选择**ARM64(Graviton2)**架构,与M1 Mac的ARM架构匹配,本地打包的依赖包即可直接使用。注意确认所选Python运行时支持ARM架构(Python 3.8及以上版本均支持)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 13:34:59