2017-02-16 79 views
0

我想在AWS Lambda中导入和使用python的dataset包。数据集包是关于MySQL连接并执行查询的。但是,当我尝试导入它时,出现错误。如何使用AWS Lambda中另一种语言编写的包?

“libmysqlclient.so.18:无法打开共享对象文件:没有这样的文件或目录”

我认为这个问题是因为MySQL客户端软件包是必要的。但是,AWS Lambda机器中没有MySQL软件包。

如何添加第三方程序以及如何链接?

+0

你必须带着你所有的依赖。所以你导入的软件包也应该包含mysql软件包。 –

回答

0

你应该在你的λ文件夹中安装你的包:

$ pip install YOUR_MODULE -t YOUR_LAMBDA_FOLDER

,然后在一个zip压缩您的整个目录中你拉姆达上传。

0

你所要做的就是包含lambda包所需的二进制文件。

您需要利用pip并创建一个隔离的环境。您上传到lambda的zip需要包含python2.7/site-packages(与pip一起安装的)。

现在有极端的情况与os相关的依赖关系。 这有一个棘手的解决方案。 在这些情况下,您必须生成一个amazon linux ec2实例,以便构建/获取这些依赖关系并将其与lambda打包。 一旦你的lambda打包,你可以关闭ec2实例。 如果virtualenv不够,请检查this指南。

相关问题