我想在python脚本中使用pytz,以用作hadoop流式作业的映射器。pytz.exceptions.UnknownTimeZone在Python中使用zipimport加载pytz时出现错误
继在另一个线程的建议,我想包装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时间戳相对于时区,例如'America/Moncton'。
谢谢!
tzlocal是伟大的,但我不知道它与问的问题有什么关系。 –
我的理解是,操作无法获得pytz会识别的时区,从而导致他的问题,如果我不正确,请原谅这个错误是在他们没有收到当地时区的范围内。 – Colabambino
它看起来像OP已经知道要使用什么时区。 –