Como adicionar corretamente o PyTZ a um aplicativo do Google App Engine?
Isso é um pouco embaraçoso, mas não consegui encontrar bons recursos sobre esse assunto.
Estou trabalhando em um aplicativo do Google App Engine que exige conversões sofisticadas de fuso horário. Como não estou nem perto das cotas impostas, optei por usar o PyTZ. No entanto, devo estar fazendo algo errado. O que eu fiz até agora é:
Baixou PyTZ como um tarballInstalou e copiou opytz
diretório para a raiz do meu aplicativo (é um irmão dowebapp
diretório, ondeapp.yaml
está localizado).No entanto, se eu tentar instanciar fusos horários, o PyTZ nunca parece encontrar nenhum. Aqui está uma sessão de amostra do console interativo do GAE:
from pytz import timezone
rome = timezone('Europe/Rome')
A saída é a seguinte:
Traceback (most recent call last):
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/admin/__init__.py", line 210, in post
exec(compiled_code, globals())
File "<string>", line 3, in <module>
File "/Library/Python/2.5/site-packages/pytz-2009j-py2.5.egg/pytz/__init__.py", line 157, in timezone
UnknownTimeZoneError: 'Europe/Rome'
O que estou fazendo errado? Agradeço antecipadamente por sua ajuda.
NOTA: Se eu apenas usar o shell interativo do python localmente, as coisas funcionam como esperado:
>>> from pytz import datetime, timezone
>>> rome = timezone('Europe/Rome')
>>> rome.localize(datetime.datetime.now())
datetime.datetime(2009, 11, 12, 0, 4, 52, 990114, tzinfo=<DstTzInfo 'Europe/Rome' CET+1:00:00 STD>)
Editar: Eu preciso esclarecer que não estou usando uma versão zipada do PyTZ. Eu incluí o todozoneinfo
diretório no meu projeto:
pc-morena:pytz lyudmilangelov$ cd zoneinfo/
pc-morena:zoneinfo lyudmilangelov$ ls -l
total 448
drwxr-xr-x@ 55 lyudmilangelov staff 1870 Nov 10 12:48 Africa
drwxr-xr-x@ 135 lyudmilangelov staff 4590 Nov 10 12:48 America
drwxr-xr-x@ 12 lyudmilangelov staff 408 Nov 10 12:48 Antarctica
drwxr-xr-x@ 3 lyudmilangelov staff 102 Nov 10 12:48 Arctic
drwxr-xr-x@ 93 lyudmilangelov staff 3162 Nov 10 12:48 Asia
...