Amazon Web Services(AWS)Lambda是否支持所有Python库?

时间:2018-11-12 19:05:44

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

例如,我想使用scikit-learn进行机器学习,并使用pandas,numpy和matplotlib / seaborn进行数据分析。 AWS Lambda是否支持所有这些库?有支持的库列表吗?还是应该创建一个虚拟服务器,以确保可以使用我想要的任何Python库?

3 个答案:

答案 0 :(得分:4)

默认情况下,这些模块不可用。我找到了这个(较旧的)可用模块列表,以及用于生成当前可用状态报告的代码,如果您愿意的话:

https://gist.github.com/sjehutch/36493ff674b1b9a16fc44a5fc270760c

您可以使用virtualenv构建自己的环境,并将其上传到Lambda。它可以包含您想要的任何内容。有关更多信息,请参见此处:

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

因此您仍然可以使用AWS Lambda,并且不需要虚拟服务器。

答案 1 :(得分:1)

我已经建立了一个名为juniper的小型库,用于自动化AWS lambda函数的代码打包。

要使用杜松,您需要做的就是创建一个小型manifest.yml文件,如下所示:

functions:
  # Name the zip file you want juni to create
  router:
    # Where are your dependencies located?
    requirements: ./src/requirements.txt.
    # Your source code.
    include:
    - ./src/lambda_function.py

只要您的依赖项位于requirements.txt中,juniper就会为您打包它们。我们的代码库中有一些示例展示了杜松的功能。

答案 2 :(得分:1)

除了默认的Python标准库外,一些第三方程序包也嵌入在AWS Lambda Python运行时中。这些软件包已准备好在您的FaaS功能中使用。

  • Python 3.8.1
  • boto3 1.10.34
  • botocore 1.13.34
  • docutils 0.15.2
  • jmespath 0.9.4
  • 点19.2.3
  • python-dateutil 2.8.0
  • 快速客户端0.0.0
  • s3transfer 0.2.1
  • setuptools 41.2.0
  • 六个1.13.0
  • urllib3 1.25.7

可以在此处找到受支持软件包的每日更新列表。
https://www.feitsui.com/en/article/2