Я пытаюсь использовать pytz в скрипте python, который будет использоваться в качестве сопоставителя для работы потоковой передачи hadoop.pytz.exceptions.UnknownTimeZoneError при загрузке pytz с zipimport в Python
Следуя совету в другой теме, я попытался упаковки pytz как почтовый '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'
I найдено this thread, и проблема заключается в том, что zipimport не может загружать двоичные файлы в каталог zoneinfo. Я пытался следовать инструкциям в потоке, но не мог заставить их работать. Есть ли более простой механизм для упаковки zoneinfo, без прохождения py2exe?
Все, что мне нужно сделать, это локализовать отметку времени UTC относительно часового пояса, например, «Америка/Монктон».
Спасибо!
tzlocal отлично, но я не уверен, что он имеет отношение к заданному вопросу. –
Мое понимание было то, что op не смог получить часовой пояс, который pytz узнал бы и, таким образом, вызвал бы у него проблемы, извините, если im неверно, я предположил, что ошибка была в том, что они не получили локальный часовой пояс. – Colabambino
Похоже, что ОП уже знает, какой часовой пояс использовать. –