我正在尝试运行这个改编自this answer的代码。
from datetime import datetime
from pytz import timezone
import pytz
def lambda_handler(event, context):
date_format='%m/%d/%Y %H:%M:%S %Z'
date = datetime.now(tz=pytz.utc)
print('Current date & time is:', date.strftime(date_format))
date = date.astimezone(timezone('US/Pacific'))
print('Local date & time is :', date.strftime(date_format))
我在AWS Lambda上运行。我收到此错误:
Response:
{
"errorMessage": "Unable to import module 'lambda_function': No module named 'pytz'",
"errorType": "Runtime.ImportModuleError"
}
如何解决此问题,仅使用AWS Lambda中提供的导入?我希望保持代码非常简约,以便可以将其直接复制粘贴到AWS控制台,而无需添加有关如何设置包等的说明。
没有简单的方法可以做到这一点。
默认的Lambda Python运行时中没有一个库知道特定(非平凡)时区的规则。 datetime模块定义了用于处理时区转换的API,但它将时区的杂乱细节留给了像pytz这样的第三方库。
当然,您可以随时自行指定这些时区规则。 tzinfo documentation提供了一些示例代码,用于“完全实现美国主要时区的当前DST规则”。但这将是一个很大的开销,我假设它不是你想要的。