无法导入模块“ lambda_function”:AWS上没有使用Python命名为“ twilio”的模块

时间:2019-10-16 15:22:37

标签: python amazon-web-services module twilio plivo

响应:

{
  "errorMessage": "Unable to import module 'lambda_function'"
}
  

无法导入模块“ lambda_function”:没有名为“ plivo”的模块

  1. 使用命令(带有sudo pip3 install plivo-t)在Ubuntu计算机上下载Twilio库,并压缩Twilio库。
  2. 这些库添加到图层并连接到当前的Lambda函数。请在上图中找到我的lambda函数代码。
  3. 当我测试时,该函数显示错误,例如“无法导入模块'lambda_function':没有名为'plivo'的模块”。请在上图中找到执行结果。

我下载了Plivo库并压缩了lib,然后将其上传到AWS lambdas函数中的图层。我将图层连接到当前函数,然后在测试该函数时,它显示诸如“无法导入模块'lambda_function':没有名为'plivo'的模块”之类的错误。

代码:

import json
import requests
import plivo
#from twilio.rest import Client #I added Layers. That is twilios library zi
def lambda_handler(event, context):
    return {'statusCode': 200, 'body': json.dumps('Hello from Lambda!') }

如何使用python下载库并将其导入到lambda函数? 具体来说,我的问题是关于如何在AWS Lambda函数中导入Twilio库。

2 个答案:

答案 0 :(得分:0)

.zip的结构是什么?它是否具有其他所有文件都位于的名为“ python”的顶级文件夹?还是在文件夹的以下路径内:python / lib / python3.7 / site-packages?确保按照以下说明匹配图层源代码的必要结构:https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html#configuration-layers-path

  

要在层中包含库,请将它们放在其中一个文件夹中   运行时支持。 Python – python,   python / lib / python3.7 / site-packages(站点目录)

     

枕头示例

pillow.zip
│ python/PIL
└ python/Pillow-5.3.0.dist-info

答案 1 :(得分:0)

也有同样的问题。我的原因是具有文件夹/文件权限。我只是将它们全部设置为777(chmod -R 777 python/)。与文档中的操作相同:https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html#configuration-layers-path

成功了!