venvを使ってLambdaをデプロイするまでの手順

手順

仮想環境をセット

venvを有効化することで、pipのインストール先が指定した環境にインストールされるようになる。

$ python -m venv /opt/ここに環境名
$ source /opt/ここに環境名/bin/activate
$ cd /var/www/lambda/ここに環境名
$ pip install -r requirements.txt
$ pip install requests -t ./
$ zip -r zip_file ./*
aws lambda create-function \
--region ap-northeast-1 \
--function-name function-name \
--zip-file fileb://{Path}xxx.zip \
--role arn:aws:iam::XXXXX:role/XXXXX \
--handler lambda_function.lambda_handler \
--runtime python3.7 \
--profile xxxxx\
--environment Variables="{VariableA=xxxx,VariableB=xxxxx}"

仮想環境を解除

$ deactivate

その他

venvで有効化する前にグローバルでインストールしたライブラリは、仮想環境に切り替えたあとも共有で使える。
なので、共有で使いたいライブラリはグローバルにインストールして、共有で使いたくないものは仮想環境に切り替えてインストールする。