AWS Lambda(Python3.9)使用google-generativeai依赖层报错求助
AWS Lambda导入google-generativeai模块失败
错误信息
Runtime.ImportModuleError: 无法导入模块'lambda_function':找不到名为'google.generativeai'的模块。
背景
在采用Python 3.9运行时的AWS Lambda函数中,尝试将google-generativeai依赖打包为Lambda Layer,但执行后出现上述导入错误,已执行的操作步骤如下:
# 安装google-generativeai包 pip install \ --platform manylinux2014_x86_64 \ --only-binary=:all: \ -t python/ google-generativeai # 压缩文件根目录包含'python'目录,Lambda可定位并导入你的包 zip -r lambda-layer.zip python/ # 将依赖发布为Lambda Layer aws lambda publish-layer-version \ --layer-name my-lambda-layer \ --zip-file fileb://lambda-layer.zip \ --compatible-runtimes python3.13 # 为Lambda函数添加该Layer aws lambda update-function-configuration \ --function-name my-lambda-function-name \ --layers arn:aws:lambda:your-region:your-account-id:layer:my-lambda-layer:1
问题原因与修正方案
1. 运行时版本不匹配
Lambda函数使用Python 3.9,但发布Layer时指定的兼容运行时为python3.13,导致Layer无法被Python 3.9环境识别加载。需将兼容运行时改为python3.9。
2. pip安装命令格式错误
原安装命令中-t python/后多了换行,导致google-generativeai包名被当作独立命令参数,可能造成依赖安装不完整,需修正换行位置。
修正后的完整操作步骤
# 正确安装google-generativeai包 pip install \ --platform manylinux2014_x86_64 \ --only-binary=:all: \ -t python/ \ google-generativeai # 压缩Layer包 zip -r lambda-layer.zip python/ # 发布匹配Python 3.9的Layer aws lambda publish-layer-version \ --layer-name my-lambda-layer \ --zip-file fileb://lambda-layer.zip \ --compatible-runtimes python3.9 # 为Lambda函数绑定Layer aws lambda update-function-configuration \ --function-name my-lambda-function-name \ --layers arn:aws:lambda:your-region:your-account-id:layer:my-lambda-layer:1
内容的提问来源于stack exchange,提问作者Harsha G V
相关产品推荐
相关产品推荐

