如何在Serverless v1.0中导入Python依赖项

tom*_*ell 6 python serverless-framework

语言:Python Framework:无服务器 v1.0

通常我会pip freeze > requirements.txt在项目根目录中运行

如何将这些依赖项打包到每个部署中?

Ben*_*uer 12

  1. 创建 requirements.txt

    pip freeze> requirements.txt

  2. 创建一个包含所有依赖项的文件夹:

    pip install -t vendored -r requirements.txt

请注意,为了在代码中使用这些依赖项,您需要添加以下内容:

import os
import sys
here = os.path.dirname(os.path.realpath(__file__))
sys.path.append(os.path.join(here, "./vendored")) 
Run Code Online (Sandbox Code Playgroud)

有关其他示例,请参阅/sf/answers/2586135471/.


更新:您现在可以使用serverless-python-requirements插件而不是bullet(2)和上面的代码:

安装插件

npm install --save serverless-python-requirements
Run Code Online (Sandbox Code Playgroud)

并将插件添加到您的 serverless.yml

plugins:
  - serverless-python-requirements
Run Code Online (Sandbox Code Playgroud)

不要忘记确保你有一个requirements.txt文件.

就是这样,一旦sls deploy被称为插件,将使用代码打包依赖项.

有关完整示例,请查看serverless-python-sample.