установка pytz в gae дает UnknownTimeZoneError

unutbu хорошо ответил на мой предыдущий вопрос здесь 2, но, похоже, нет pytz для прямого импорта с помощью моего SDK. Поэтому я начал искать альтернативы и нашел, например, этот ответ, который рекомендует скачивать с здесь 4.

Я поместил следующий код в свою локальную интерактивную консоль.

import datetime as dt
import pytz

utc = pytz.utc
western = pytz.timezone('US/Pacific')

Я поместил загруженный каталог pytz в свой локальный корневой каталог scheduler, разархивировал включенный файл scheduler/pytz/zoneinfo.zip и получил следующую ошибку в интерактивной консоли. Я вообще НЕ регулировал app.yaml; это правильно?

"/Users/brian/googleapps/scheduler/pytz/__init__.py", line 173, in timezone
    raise UnknownTimeZoneError(zone)
UnknownTimeZoneError: 'US/Pacific'

Я также нашел ответ на аналогичную ошибку здесь 5, в котором рекомендуется исправить файл init.py.

Теперь я нашел ответ здесь 6 что предполагает, что ошибки возникают, если используется ВЕРСИЯ 2010h вместо ВЕРСИИ 2011h, а скачанный мной pytz — 2010h. Как жизнь?

Есть ли простой способ использовать ответ Wooble с pytz. И означает ли его ответ, что я должен загрузить каталог pytz с моим приложением gae, когда оно будет развернуто, или там уже есть pytz?


person zerowords    schedule 21.08.2012    source источник
comment
Э-э, спасибо, но я не ответил на этот вопрос, я только оставил несколько язвительный комментарий.   -  person Wooble    schedule 22.08.2012


Ответы (1)


Вам нужно вызвать from pytz.gae import pytz, чтобы gae-pytz заработал, иначе вы будете использовать обычный pytz.

person Shay Erlichmen    schedule 21.08.2012
comment
Ок, отлично. Спасибо. Это исправило сообщение об ошибке. Теперь мне нужно знать, хотя моя ВЕРСИЯ pytz 2010h, есть ли у gae ВЕРСИЯ pytz 2011h? И если у gae есть правильная версия, означает ли это, что при развертывании моего приложения я не должен включать локальный каталог pytz в загрузку? Иначе откуда мне взять ВЕРСИЮ 2011h? - person zerowords; 22.08.2012
comment
Вы должны использовать (и загружать) последнюю информацию о зоне, поскольку информация о часовых поясах постоянно обновляется по всему миру. вы можете получить файл folderinfo.zip с сайта pytz. - person Shay Erlichmen; 22.08.2012
comment
Значит, вы говорите, что старой была только ВЕРСИЯ zoneinfo, а не pytz (мне показалось, что старая была сама ВЕРСИЯ pytz)? И, пожалуйста, ответьте на мой вопрос о том, должен ли я загружать папку pytz при развертывании или в этом нет необходимости? - person zerowords; 22.08.2012
comment
gae-pytz сильно изменился за последние пару лет, только folderinfo.zip. Вы должны загрузить весь пакет с zip. - person Shay Erlichmen; 22.08.2012