新米エンジニアの失敗再発防止メモ

自分そしてこの世界の皆が、同じ失敗をしないためのメモ

Twitterやってます!@rakuton_t
欲しいものリストのブタメンを送ってくれた方、ありがとうございます!

【Python】AWS Lambdaで標準以外のモジュールを使用する。

PythonAWS 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でエラーとその原因と対処法 - 新米エンジニアの失敗再発防止メモ


なんか分からないところあったら気軽にコメントどーぞ~

私の記事が役に立ったら、どうぞ何か買ってください!→ Amazon欲しいものリスト