我想在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已經知道要使用什麼時區。 –