将Python包部署到AWS lamb时出错

2024-09-27 21:34:03 发布

您现在位置:Python中文网/ 问答频道 /正文

当我上传zip文件时,AWS成功地创建了lambda函数。但当我测试它时,它给出了这个错误。在

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

以下是我创建的zip文件的内容。我尝试将zip文件的名称改为“amazonns”,以匹配amazonSNS.py文件,但没有帮助,同样的问题。在

enter image description here

Lambda函数配置中的Lambda处理程序设置为“amazonss.handler公司“其中amazonss是文件名,handler是需要调用的函数名,正如他们在文档中所指示的那样。在

下面是python文件的内容

^{pr2}$

这里可能有什么问题?在

这是日志输出

START RequestId: 76a61551-052a-11e6-b466-8fa0769ac309 Version: $LATEST Unable to import module 'amazonSNS': No module named _mysql

END RequestId: 76a61551-052a-11e6-b466-8fa0769ac309 REPORT RequestId: 76a61551-052a-11e6-b466-8fa0769ac309 Duration: 0.33 ms Billed Duration: 100 ms

更新

我从“site package”文件夹中添加了一些我认为是MySQLdb包的一部分的文件,下面是zip文件的当前内容。在

enter image description here

在这之后,新的错误日志是。在

START RequestId: c0715d9a-0531-11e6-9409-a3b194fd4afd Version: $LATEST Unable to import module 'amazonSNS': libmysqlclient.so.18: cannot open shared object file: No such file or directory

END RequestId: c0715d9a-0531-11e6-9409-a3b194fd4afd REPORT RequestId: c0715d9a-0531-11e6-9409-a3b194fd4afd Duration: 0.35 ms Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 22 MB


Tags: 文件to函数import内容zipmsmodule
3条回答

我在使用mysqlclient(在Python3上工作的MySQLd fork)时遇到了这个问题。在

由于我使用Zappa来简化部署,所以解决方案很简单:只需切换到原来的MySQLd包(但它不支持python3):pip install mysql-python Zappa附带了一个预编译的version。在

你是如何安装MySQLdb的?http://mysql-python.sourceforge.net/FAQ.html说:

ImportError: No module named _mysql If you see this, it's likely you did some wrong when installing MySQLdb; re-read (or read) README. _mysql is the low-level C module that interfaces with the MySQL client library.

如果还没有安装MySQLdb和pip。在

要解决这个问题: 我寻找libmysqlclient.so.20(末尾的版本号可能不同)

find /. -name "libmysqlclient.so.20"

我的输出是

^{pr2}$

然后我将该文件复制到包的根目录中

cp /usr/lib/x86_64-linux-gnu/libmysqlclient.so.20 <your package path>

相关问题 更多 >

    热门问题