2017-06-29 12 views
0

Zappaを使用してAWS Lambdaにアプリケーションをデプロイしました。デプロイメントは何の問題もなくうまくいった。しかし、AWS API Gateway経由でアプリにアクセスしようとすると、500回の応答が得られます。ZappaのAWS Lambdaが「モジュール 'ハンドラをインポートできません」:組み込みモジュールと呼ばれるモジュールがありません

ログはモジュール 'ハンドラ' をインポートする

できませんと言う:いいえモジュールという名前の組み込みコマンド

環境は、Python 2.7上で動作しません。私はfutureをPipfileに追加しましたが、それでも動作しません。

私は次のコード

from __future__ import unicode_literals 

import base64 
import boto3 
import collections 
import datetime 
import importlib 
import inspect 
import json 
import logging 
import os 
import sys 
import traceback 
import zipfile 

from builtins import str 

を見ることができますラムダのコードをチェックすると、私が間違っている可能性が見つけることができません。誰かが手掛かりを持っていますか?

+0

AWSコンソールでLambdaハンドラの名前を間違って設定した可能性があります。 – joarleymoraes

+0

これはhandler.lambda_handlerです。これはZappaのデフォルトです。なぜそれが問題だと思いますか? – kontrollanten

答えて

0

私はこの問題を解決しました。 pipenvを使用してパッケージをインストールしていますが、何らかの理由でパッケージが仮想環境内にインストールされていないため、ZappaはAWS Lambdaにパッケージを含めませんでした。私はSettings > Project > Project Interpreterを経由してPyCharmに手動でインストールし、そこにパッケージを追加しなければなりませんでした。ご協力いただきありがとうございます。

+1

私はpython2.7をpython3.6にアップグレードして同じ問題に直面しています。私がPyCharmを使用していないので、修正されるものを教えてください。端末のみを使用します。 – CrazyGeek

+0

'pipenv'の中にすべてのパッケージを再インストールしましたか? – kontrollanten

+0

私は 'vitualenv env -p python2.7'で作成した私の以前の環境を削除しましたが、' pip install -r requirement.txt'の後に 'virtualenv env -p python3.6'で新しい環境を作成しました。 – CrazyGeek

0

ソリューションの画像(フォルダ構造)を投稿できますか?組み込みライブラリをラムダ関数でパッケージ化してはいけません。

関連する問題