serverless frameworkでpython packageのバンドルを楽々に

serverless frameworkのpython packageバンドリングプラグイン: serverless-python-requirements

serverless-python-requirementsとはrequirements.txtの依存関係を自動的にバンドルし、PYTHONPATHで利用できるようにするためのServerless v1.xプラグイン

インストール

sls plugin install -n serverless-python-requirements

Serverless Python Requirements

これにより、プロジェクトの package.json と serverless.yml の plugins セクションにプラグインが自動的に追加される。 基本的な使用方法はこれだけです! sls デプロイを実行すると、requirements.txt や Pipfile で指定した python の依存関係がプラグインにバンドルされる。

より詳しくは以下を参照

How to Handle your Python packaging in Lambda with Serverless plugins

もしあなたがMacを使っているのであれば、brewでインストールしたpythonを使う際の注意点を参照のこと。

Serverless Python Requirements

ロスコンパイル

ロスコンパイルしたい場合、Dockerとdocker-lambdaイメージを使うことで、非Linux OS上で可能。 docker を使用できるようにするには、serverless.yml に以下を追加する。

custom:
  pythonRequirements:
    dockerizePip: true