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

使用AWS CDK创建Lambda Layer时Langchain遇Numpy导入错误求助

解决Mac M1下AWS CDK部署Langchain Lambda Layer的Numpy导入错误

问题原因

Mac M1(ARM64)本地环境安装的Numpy依赖包含源码目录结构,或CDK直接使用本地环境打包时未适配Lambda的Amazon Linux ARM64运行环境,导致Lambda运行时误从Numpy源码目录触发导入错误。

解决方案

方法一:通过CDK Bundling配置强制在Lambda兼容环境中构建依赖

修改Layer的CDK代码,添加bundling选项,使用Lambda官方Python镜像在容器内构建依赖,确保产物适配Lambda运行环境:

langchain_lambda_layer = _alambda.PythonLayerVersion(
    self,
    "langchain-lambda-layer",
    entry="./aws_bedrock_langchain_python_cdk/lambda/layer/langchain_latest/",
    compatible_runtimes=[_lambda.Runtime.PYTHON_3_11],
    compatible_architectures=[_lambda.Architecture.ARM_64],
    bundling=_lambda.BundlingOptions(
        image=_lambda.Runtime.PYTHON_3_11.bundling_image,
        command=[
            "bash", "-c",
            "pip install -r requirements.txt -t /asset-output/python && rm -rf /asset-output/python/*.dist-info /asset-output/python/__pycache__"
        ],
    ),
)

方法二:手动清理Layer目录中的冗余文件

如果不想用容器构建,先清空Layer的entry目录下的python子目录,再重新安装依赖并清理Numpy源码相关文件:

  1. 进入Layer的entry目录:
cd ./aws_bedrock_langchain_python_cdk/lambda/layer/langchain_latest/
  1. 清理原有依赖(如果存在):
rm -rf python/
  1. 安装适配ARM64的依赖到指定目录:
pip install -r requirements.txt -t python/ --platform manylinux2014_aarch64 --only-binary=:all:
  1. 删除Numpy源码目录中触发错误的文件:
rm -rf python/numpy/*.py python/numpy/README.md python/numpy/setup.py

方法三:使用Docker手动构建Layer

  1. 在Layer的entry目录下创建临时Dockerfile:
FROM public.ecr.aws/sam/build-python3.11:latest-arm64
WORKDIR /build
COPY requirements.txt .
RUN pip install -r requirements.txt -t python/
RUN rm -rf python/*.dist-info python/__pycache__
  1. 构建镜像并导出依赖到本地目录:
docker build -t langchain-layer-build .
docker run --rm -v $(pwd)/:/output langchain-layer-build cp -r /build/python /output/

验证步骤

  1. 销毁原有堆栈并重新部署:
cdk destroy && cdk deploy
  1. 测试Lambda函数,确认Numpy导入错误消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 13:32:45