2016-01-20 124 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