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

Python版AWS Lambda自动创建含依赖zip部署包问题求助

错误原因

你遇到的导入报错核心由两个问题导致:

  • 直接打包本地虚拟环境的numpy包:本地安装的numpy适配你当前设备的操作系统、CPU架构,和AWS Lambda的Amazon Linux运行环境不兼容,很多底层动态链接库无法正常加载
  • 打包文件不全:你当前的glob规则仅匹配了numpy根目录下的一级文件,递归子目录、依赖配置文件都未完整写入压缩包,导致numpy初始化流程断裂触发循环导入报错
修复现有打包逻辑的方法

修改你的打包函数,完整递归写入所有依赖文件,参考代码如下:

import zipfile
import os
import io

def create_full_lambda_deployment_package(function_file_name, site_packages_path, dep_list=None):
    dep_list = dep_list or ['numpy']
    buffer = io.BytesIO()
    with zipfile.ZipFile(buffer, 'w') as zipped:
        # 写入业务代码
        zipped.write(function_file_name, arcname=os.path.basename(function_file_name))
        
        # 递归写入指定依赖的所有文件
        for dep in dep_list:
            dep_root = os.path.join(site_packages_path, dep)
            for root, dirs, files in os.walk(dep_root):
                for file in files:
                    file_path = os.path.join(root, file)
                    # 计算压缩包内的相对路径,放在压缩包根目录
                    arc_path = os.path.relpath(file_path, site_packages_path)
                    zipped.write(file_path, arcname=arc_path)
    buffer.seek(0)
    return buffer.read()

注意使用该方法前,你需要在和Lambda运行环境一致的系统中安装依赖,避免跨架构兼容问题:比如使用官方Lambda容器镜像安装依赖,或者在Amazon Linux 2实例中执行pip安装操作。

更推荐的方案:单独构建Lambda层

不要将依赖和业务代码打包到一起,单独构建可复用的Lambda层,优势是代码包体积更小、依赖可以多个函数共用:

  1. 按照Lambda层的标准结构创建目录:
# 以Python3.9 x86_64架构为例
mkdir -p python/lib/python3.9/site-packages
  1. 安装兼容Lambda的依赖包:
pip install numpy pandas lightgbm --platform manylinux2014_x86_64 --only-binary=:all: --target ./python/lib/python3.9/site-packages
  1. 裁剪冗余文件减少包体积:
# 删除无用的文档、缓存、测试文件
find ./python -name "*.pyc" -delete
find ./python -name "__pycache__" -delete
rm -rf ./python/lib/python3.9/site-packages/*/tests
  1. 将整个python目录打包为zip文件,上传为Lambda层,之后在函数配置中附加该层即可,无需修改业务代码。
额外注意事项
  • Lambda所有部署包(含层)解压后总大小不能超过250M,大体积依赖需要做好裁剪
  • 如果使用arm64架构的Lambda,安装依赖时将--platform参数替换为manylinux2014_aarch64
  • 常用的数据科学依赖有大量官方预构建的公开Lambda层,可直接使用无需自行打包

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 04:06:08