【发布时间】:2015-07-02 06:14:40
【问题描述】:
我正在尝试在 python 脚本中使用 pytz,以用作 hadoop 流作业的映射器。
按照另一个线程中的建议,我尝试将 pytz 打包为 zip 'pytz.mod',并使用 zipimport 加载它:
import zipimport
importer = zipimport.zipimporter('pytz.mod')
pytz = importer.load_module('pytz')
from pytz import timezone
user_timezone = timezone('America/Moncton')
这会产生以下错误:
Traceback (most recent call last):
File "./load-pytz.py", line 15, in <module>
user_timezone = timezone('America/Moncton')
File "./lib/python2.6/site-packages/pytz/__init__.py", line 180, in timezone
pytz.exceptions.UnknownTimeZoneError: 'America/Moncton'
我找到this thread,问题似乎是zipimport 无法加载zoneinfo 目录中的二进制文件。我试图按照线程中的说明进行操作,但无法让它们工作。有没有更简单的打包zoneinfo的机制,不用经过py2exe?
我需要做的就是本地化相对于时区的 UTC 时间戳,例如“美国/蒙克顿”。
谢谢!
【问题讨论】:
标签: python hadoop timezone pytz