代码之家  ›  专栏  ›  技术社区  ›  wendybear

将Python模块导入AWS Lambda

  •  1
  • wendybear  · 技术社区  · 6 年前

    我遵循了文档中的所有步骤: https://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html

    1. 将所有Python源文件(即.py文件)保存在此目录的根级别。

    2. 在目录的根级别使用pip安装任何库。

    3. 压缩项目目录的内容)

    但是在我把压缩文件上传到 λ 函数,我在测试脚本时收到错误消息

        import psycopg2
        #my code...
    

    错误:

        Unable to import module 'myfilemane': No module named 'psycopg2._psycopg'
    

    我不知道后缀在哪里 '_psycopg' 来自。。。

    有什么帮助吗?

    2 回复  |  直到 6 年前
        1
  •  0
  •   KiteCoder    6 年前

    我相信这是因为 psycopg2 Using psycopg2 with Lambda to Update Redshift (Python) 有关此问题的详细信息。编译问题的另一个[参考文献][1] 心理学2 在OSX上。

    有一些解决方案,但基本上可以归结为在Linux机器上安装库,并将其用作上载包中的Psycopg2库。

        2
  •  1
  •   Kannaiyan    6 年前

    您正在对lambda使用本机库。我们也遇到过类似的问题,下面是我们如何解决的。

    https://docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html

    就像这篇文章一样,

    https://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html

    安装lambda所需的模块,

    pip安装模块名称-t/path/to/project dir

    并准备好要在lambda ami环境下与本机模块一起上载的包。