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