【Python】AWS Lambdaで標準以外の外部モジュールを使用する。
以下は、python3が前提です。python2でもほとんど変わらないと思いますが。
ずばりこうする
AWS Lambdaでインストールするコマンドは打てないので、ビルド済みパッケージをアップロードすれば使えます。
1. EC2でAmazon Linux 2 のインスタンスを作成し、起動する。
※Amazon Linux 2 を使うのは、Lambdaの環境に合わせるため。
2. 以下のコマンドを実行
sudo python3 -m pip install [使いたいモジュール] sudo python3 -m pip show [使いたいモジュール]
上記コマンドを実行すると、以下のように出力される。Locationの項目がモジュールの設置場所。
Name: psycopg2 Version: 2.7.7 Summary: psycopg2 - Python-PostgreSQL Database Adapter Home-page: http://initd.org/psycopg/ Author: Federico Di Gregorio Author-email: fog@initd.org License: LGPL with exceptions or ZPL Location: /usr/local/lib64/python3.7/site-packages Requires: Required-by:
4. Locationディレクトリ配下にあるモジュールのディレクトリをコピーしてzip化する。
5. Lambdaにアップロードする
以上です!
その他
pipを使うところでなんかエラー出たら以下をお試しください。
sudo python3 -m pip install pip --upgrade
この時にまたエラーが出た場合はこちらをご覧ください。
pip installでエラーとその原因と対処法 - 新米エンジニアの失敗再発防止メモ
なんか分からないところあったら気軽にコメントどーぞ~