AWS Lambda 和 Papermill:无法导入模块“lambda_function”:没有名为“rpds.rpds”的模块

问题描述 投票:0回答:1

我正在尝试在 AWS python lambda 函数中导入 papermill 。 为此,我首先跑了

pip3 install papermill -t Desktop/python
在本地,压缩 python 文件并将其作为 lambda 层上传。

我现在收到此错误:

{
  "errorMessage": "Unable to import module 'lambda_function': No module named 'rpds.rpds'",
  "errorType": "Runtime.ImportModuleError",
  "requestId": "7f217dbf-455f-4867-a5d6-8da1f3abd356",
  "stackTrace": []
}

我无法弄清楚也没有在网上找到任何类似的问题。下面是“python”目录中可用的 rpds 模块的图像,如果有用的话? :

希望有人能帮忙!谢谢。

aws-lambda amazon-sagemaker papermill
1个回答
0
投票

假设您有一个requirements.txt文件并且使用python 3.10,您可以尝试使用此脚本创建一个包含所有依赖项的lambda层:

#!/bin/bash 
echo "create build venv"
rm -rf temp-venv
python3.10 -m venv temp-venv
source temp-venv/bin/activate

rm -rf dist
mkdir -p dist
pip install \
    --platform manylinux2014_x86_64 \
    --target=./dist/layer/python/lib/python3.10/site-packages \
    --implementation cp \
    --python-version 3.10 \
    --only-binary=:all: --upgrade \
    --no-compile \
    -r requirements.txt


cd dist/layer
zip -r ../dep_lambda_layer.zip .
cd ..
rm -rf layer
© www.soinside.com 2019 - 2024. All rights reserved.