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

升级Python Lambda至支持版本遇orjson模块导入错误求助

问题排查与解决办法

针对你升级Lambda Python版本后出现的No module named 'orjson.orjson'错误,以下是创建Lambda层时容易忽略的几个关键点:

  • 架构不匹配:orjson是编译型原生库,必须与Lambda运行时的CPU架构(x86_64/arm64)完全一致。如果本地环境架构和Lambda架构不同(比如本地是x86,Lambda用arm64),直接安装的orjson二进制文件无法在Lambda上运行,就会出现模块找不到的错误。
    解决办法:用对应架构的环境安装依赖,比如用Docker模拟Lambda的官方环境:

    # 以Python 3.9 + x86_64为例
    docker pull public.ecr.aws/lambda/python:3.9
    docker run -v $(pwd):/tmp --rm public.ecr.aws/lambda/python:3.9 pip install orjson -t /tmp/python/lib/python3.9/site-packages/
    cd /tmp && zip -r orjson-layer.zip python/
    
  • 层的zip结构错误:Lambda层的Python依赖必须遵循固定目录结构:python/lib/pythonX.X/site-packages/(X.X为目标Python版本,比如3.10对应python3.10)。打包时要把整个python目录作为zip的根目录,而不是直接将site-packages下的文件打包。
    错误结构示例:zip根目录直接是orjson/
    正确结构示例:zip根目录是python/,内部包含lib/python3.9/site-packages/orjson/

  • Python版本不兼容:安装依赖时使用的Python版本必须和Lambda运行时的版本一致。比如你用Python 3.6安装的orjson,放到Python 3.9的Lambda环境中,会因为版本差异导致原生模块无法加载,表现为找不到orjson.orjson。必须确保安装依赖的Python版本与Lambda目标版本完全匹配。

  • 间接依赖版本问题:你的直接依赖可能引入了不兼容目标Python版本的orjson旧版本。比如部分早期orjson版本不支持Python 3.10及以上,需要手动指定兼容的orjson版本安装:

    pip install orjson>=3.8.0 -t <目标目录>  # 3.8.0及以上版本支持Python 3.7-3.11
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 07:30:50