【问题标题】:AWS Lambda+Redshift+Python:unable to import module. psycopg2 module not foundAWS Lambda+Redshift+Python:无法导入模块。找不到 psycopg2 模块
【发布时间】:2017-12-04 02:04:26
【问题描述】:

我正在尝试使用 AWS lambda 函数 (python 2.7) 将数据加载到 redshift。现在,该函数使用 psycopg2 包。所以我下载了它,将它保存到我的 lambda 函数已经存在的文件夹中并压缩它。压缩文件的名称与函数名称(.py 文件)相同。但是当我测试它时,它给了我“无法导入模块。找不到 psycopg2 模块。” 我搜索并找到了这个链接:https://www.reddit.com/r/aws/comments/3on09a/using_psycopg2_in_lambda/

我也试过了,但没有帮助。有人可以帮忙吗?

【问题讨论】:

    标签: amazon-web-services aws-lambda psycopg2


    【解决方案1】:

    由于错误状态为“未找到 psycopg2 模块”,因此它可能无法找到依赖项。 下面提到了一些需要注意的事情。

    • 确保您与 lambda 函数一起压缩的 psycopg2 包存在于名为“psycopg2”的文件夹中,即 zip 文件应包含您的 lambda 函数和包含依赖项的名为“psycopg2”的文件夹。
    • 还要确保部署包与 Linux 兼容。下面的 Lambda 运行基于 linux 的 AMI 镜像。

    您可以找到您的 Lambda 函数所需的包here

    【讨论】: