aws lambdaへpythonで作成した関数を設置しようとした時に「ImportError: cannot import name _imaging」というエラーが発生しました。
エラーの原因は、開発環境はmacで本番環境はamazon linuxなのでmac用の外部パッケージがlinux上では動かないことだと思われます。
そこで、amazon linux環境をmac上に仮想環境として構築し、そこで外部パッケージを用意することで、OSに依存するパッケージの影響を受けることがないようにしました。ここで利用した仮想環境はVirtualBoxで、VirtualBox用のOSインストールずみ仮想イメージを取得するためVagrantを利用しました。
Vagrantを使うことで、環境構築はとても簡単になります。次の2つのコマンドを実行するだけで、仮想マシンの起動まで済ませてくれます。
# vagrant init mvbcoding/awslinux # vagrant up
さらに作成した仮想マシンにログインするためには、次のコマンドを実行します。
# vagrant ssh
参考サイト