【问题标题】:Does Amazon Web Services (AWS) Lambda support all Python libraries?Amazon Web Services (AWS) Lambda 是否支持所有 Python 库?
【发布时间】:2019-04-15 13:13:12
【问题描述】:

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

【问题讨论】:

  • 如果您最终使用 EC2 实例,Amazon ML AMI 映像包含 Nvidia CUDA 支持 ML 的驱动程序等,以及几个 Python 包;这与 g3/g4/g5/p3 等类型有关

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


【解决方案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
  • 设置工具 41.2.0
  • 六个1.13.0
  • urllib3 1.25.7

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

【讨论】:

    【解决方案2】:

    这些模块默认不可用。如果您愿意,我发现了这个(旧的)可用模块列表,以及生成可用内容的当前报告的代码:

    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,并且不需要虚拟服务器。

    编辑添加一点自我宣传:

    我发了web site that shows the current modules available in each environment provided by Amazon.

    【讨论】:

      【解决方案3】:

      我构建了一个名为 juniper 的小型库来自动打包 AWS lambda 函数的代码。

      使用 Juniper 所需要做的就是创建一个小的 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 就会为你打包。我们的代码库中有几个示例展示了瞻博网络的功能。

      【讨论】:

      • 帅哥。下次我需要这样做时,我可能会看一下。谢谢!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-15
      • 2021-05-13
      • 1970-01-01
      • 2018-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多