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

在AWS Lambda与Amplify中使用psycopg2遇模块导入错误求助

AWS Amplify部署Lambda时psycopg2依赖问题解决指南

一、本地依赖文件放置位置

如果你使用Amplify管理Lambda函数(目录结构为amplify/backend/function/[你的函数名称]):

  • 把预编译好的适配Amazon Linux 2架构的psycopg2完整包(包含_psycopg.so等核心文件),直接放到函数目录下的src文件夹内;或者在src里创建vendor文件夹,将psycopg2包放入其中,确保导入路径正确。
  • 注意:必须使用针对Lambda运行时(如Python 3.9/3.10)和Amazon Linux 2编译的psycopg2包,本地Mac/Windows环境编译的包无法在Lambda中运行,这是引发No module named 'psycopg2._psycopg'报错的核心原因。
  • 确认index.py中的导入语句为import psycopg2,无需额外路径,Amplify打包时会将src下的所有内容纳入Lambda执行环境的根目录。

二、可用的Lambda层方案

如果不想手动放置依赖,可自行构建适配Lambda的psycopg2层,步骤如下:

  • 用Amazon Linux 2的Docker容器模拟Lambda环境:
    docker run -v "$PWD":/var/task public.ecr.aws/sam/build-python3.9:latest /bin/bash
    
  • 在容器内安装对应版本的psycopg2-binary到指定目录:
    pip install psycopg2-binary -t python/lib/python3.9/site-packages/
    
  • 退出容器后,将python目录打包为zip文件,上传到AWS Lambda控制台创建层。
  • 在Amplify控制台找到对应Lambda函数的设置,进入“层”选项,添加你创建的psycopg2层即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 15:45:05