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

AWS Lambda集成Papermill时出现导入错误:No module named 'rpds.rpds'

AWS Lambda集成Papermill时出现导入错误:No module named 'rpds.rpds'

看起来你遇到的是Lambda层依赖兼容性或者目录结构的问题,我来帮你梳理下可能的解决思路:

  • 问题根源分析
    这个错误大概率是因为你在本地(比如macOS)安装的rpds模块包含了针对本地系统编译的二进制文件,而AWS Lambda运行在Linux x86_64环境中,二进制兼容性不匹配;或者安装过程中依赖没有完整安装,导致rpds.rpds这个子模块缺失。

  • 解决方案1:用Lambda兼容环境安装依赖(推荐)
    你需要在和Lambda一致的Linux环境下安装papermill及其依赖,最方便的方式是用Docker模拟Lambda运行环境:

    1. 先拉取对应Python版本的Lambda官方镜像,比如你用Python 3.10的话:
      docker pull public.ecr.aws/lambda/python:3.10
      
    2. 运行临时容器,挂载本地的一个目录用来存放安装的依赖:
      docker run -v /path/to/your/local/folder:/lambda-layer -it public.ecr.aws/lambda/python:3.10 bash
      
    3. 在容器内,进入挂载的目录,创建python子目录并安装papermill:
      cd /lambda-layer
      mkdir python
      pip install papermill -t python/
      
    4. 退出容器,把本地的python目录打包成zip,上传作为Lambda层,这样依赖就是完全适配Lambda环境的了。
  • 解决方案2:检查并修复层的目录结构
    确认你打包的zip包根目录就是python文件夹,里面的结构应该是类似python/rpds/、python/papermill/这样,Lambda会自动把这个目录添加到Python的sys.path中。如果你的rpds模块结构有问题,比如rpds文件夹里没有rpds.py或者对应的编译文件,可能需要重新安装确保依赖完整。

  • 额外检查点
    确保你的Lambda函数使用的Python版本和你安装papermill时用的Python版本完全一致,比如你用Python 3.9安装的依赖,Lambda也得选3.9的运行时。

备注:内容来源于stack exchange,提问作者Chad Goldsworthy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 15:24:36