2016-01-20 79 views
3

我正在編寫一個lambda函數,它可以與datetimes一起使用並嘗試導入pytz,因此我可以在比較時考慮時區。將pytz導入AWS lambda函數

import boto3 
import pytz 
from datetime import timedelta, date, datetime 
from boto3.dynamodb.conditions import Key, Attr 

原因這顯示

{errorMessage=Unable to import module 'lambda_function'} 

,但是當我刪除導入pytz功能火災(它只是不正確沒有時區信息工作)

回答

7

您需要安裝pytz包所以它可用於你的lambda。這樣做的方式是讓pip將其安裝到您要壓縮並上傳到AWS的目錄(即與包含您的lambda函數的文件對等)。

pip install -t path/to/your/lambda pytz 

然後,當你壓縮並上傳它時,它將可用。

編輯補充一點,我創建了一個工具,做了很多這方面的你 - 你可以在這裏找到:https://github.com/jimjkelly/lambda-deploy

+0

我希望避免這種情況,但我有你可能是正確的感覺。我會嘗試找到另一種方法來實現我的最終目標,但現在標記爲正確的答案。非常感謝。 – scottndecker

+0

我實際上一直在研究一種自動完成此工作的工具(以及將它推送給AWS的工具),但我還沒有把它推到github上。當你使用帶有編譯位的庫時會遇到很大的麻煩。 :/ – jimjkelly