使用Python 3.12的AWS Lambda无法识别Redis库的问题咨询
解决AWS Lambda Python 3.12中Redis模块找不到的问题
AWS Lambda的Python运行时仅预装Python标准库,Redis属于第三方依赖,必须手动添加,不存在其他替代名称。
两种可行的解决方式:
方式1:使用Lambda层(推荐,便于复用)
- 本地创建临时目录
python - 根据Lambda的架构(x86_64/arm64)执行对应命令,将Redis安装到指定路径:
- x86_64架构:
pip install redis -t python/lib/python3.12/site-packages/ --platform manylinux2014_x86_64 --only-binary=:all: - arm64(Graviton2)架构:
pip install redis -t python/lib/python3.12/site-packages/ --platform manylinux2014_aarch64 --only-binary=:all:
- x86_64架构:
- 将
python目录压缩为zip包(确保压缩包内直接包含python文件夹,而非外层嵌套) - 登录AWS控制台,进入Lambda的「层」页面,创建新层:上传该zip包,运行时选择Python 3.12
- 在你的Lambda函数配置中添加此层,重新测试即可
方式2:直接打包进部署包
- 本地创建项目目录,放入你的
lambda_function.py - 执行命令将Redis安装到当前目录:
pip install redis -t . - 将所有文件(含Redis库文件和你的代码)压缩为zip包
- 上传该zip包替换Lambda原有的部署包
额外注意:若Redis实例部署在VPC内,需确保Lambda的安全组配置了允许访问Redis实例6379端口的入站规则,否则会出现连接超时问题。
内容的提问来源于stack exchange,提问作者Andre
相关产品推荐
相关产品推荐

