无服务器Python包 - dlib依赖

问题描述 投票:1回答:1

我正在为AWS Lambda构建一个依赖于dlib的Python部署包。 dlib具有操作系统依赖性,它依赖于cmake来构建二进制文件。我想知道如何做到这一点,因为我有一台Mac并且正在我的环境中进行开发。我知道Docker,但我不知道如何设置图像来编译AWS的二进制文件。任何帮助这样做将不胜感激。

amazon-web-services aws-lambda serverless-framework serverless
1个回答
0
投票

最简单的方法是使用插件

无服务器封装-蟒函数

所以只需在serverless.yml中定义即可

package:
 individually: true

custom:
  pkgPyFuncs:
    buildDir: _build
    requirementsFile: requirements.txt
    cleanup: true
    useDocker: true

重要的是使用useDocker:true - 这是基于AWS AMI启动docker(本地) - 因此您获得了正确的依赖关系。

之后在serverless.yml中创建你的函数:

functions:
  test:
    name: ${opt:stage, self:provider.stage}-${self:service}-test
    handler: lambda_function.lambda_handler
    package:
      include:
        - ./test
      artifact: ${self:custom.pkgPyFuncs.buildDir}/${self:functions.test.name}.zip

在你的测试文件夹里面放置requirements.txt。此文件将用于使用正确的软件包部署服务。

如果您还有其他问题,请与我们联系

© www.soinside.com 2019 - 2024. All rights reserved.