You need to enable JavaScript to run this app. AWS Lambda运行提示No module named 'joblib'导入错误如何解决
优惠活动
大模型
产品
解决方案
定价
更多

AWS Lambda运行提示No module named 'joblib'导入错误如何解决

AWS Lambda `No module named 'joblib' 报错解决方案

报错原因

你在代码中导入的joblib、scikit-learn、pandas、awswrangler均不属于AWS Lambda标准运行环境的预装依赖范围,本地开发环境存在这些库不代表Lambda运行时可以识别,因此触发导入失败报错。

解决方法

  • 方案1:使用Lambda层(Layer)管理依赖(推荐,可复用给多个函数)
    1. 准备与你Lambda函数使用的相同Python版本、相同运行架构(x86_64/arm64)一致的Amazon Linux 2环境,执行命令将依赖安装到指定目录:
    mkdir -p python/lib/python3.x/site-packages
    pip install joblib scikit-learn pandas awswrangler -t python/lib/python3.x/site-packages
    
    把命令中的3.x替换为你的Lambda实际Python版本号,比如使用Python 3.9就写3.9。
    2. 将生成的python文件夹压缩为zip包,上传到AWS控制台的Lambda层功能中。
    3. 给你的Lambda函数绑定刚才创建的层即可。
  • 方案2:依赖和代码打包一起上传
    1. 本地在和Lambda匹配的环境下,进入lambda_function.py所在目录执行依赖安装命令:
    pip install joblib scikit-learn pandas awswrangler -t .
    
    1. 把目录下所有文件打包为zip包,注意不要打包外层目录,要让lambda_function.py处于zip包的根目录。
    2. 把zip包上传到Lambda函数代码配置处替换原有代码。

注意事项

  • 依赖必须在和Lambda运行架构、Python版本完全一致的环境下安装,避免架构不兼容导致后续触发其他导入错误。
  • 打包后的代码+依赖总大小解压后不能超过250MB的Lambda限制,如果超出可以优先使用预编译的Lambda公共层,或者精简不必要的依赖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 21:54:03