ImportError,在谷歌应用引擎中使用 pytz
Posted
技术标签:
【中文标题】ImportError,在谷歌应用引擎中使用 pytz【英文标题】:ImportError, using pytz in google app engine 【发布时间】:2012-06-06 06:34:23 【问题描述】:我正在尝试在我的网络应用程序中使用 pytz 将时区应用于日期时间对象。首先我尝试像这样导入pytz
from pytz import timezone
然后它引发了一个 ImportError 说模块“pytz”不存在。我在 IDLE 中尝试了相同的代码行,它运行良好。然后我在网上看到了一些关于 gae-pytz 的东西。所以 我将代码更改为如下所示:
from pytz.gae import pytz
from pytz import timezone
就像网页上说的那样。它仍然有 ImportError。它说:
ImportError: No module named pytz.gae
我认为问题可能是我使用的是 python 2.5 的 gae 版本。 有人知道出了什么问题吗?或者也许有人知道 pytz 的替代品。
【问题讨论】:
How to properly add PyTZ to a Google App Engine application?的可能重复 【参考方案1】:pytz 或 pytz.gae 均未包含在默认 App Engine SDK 中。
如果您想使用 pytz.gae 模块,您需要下载它并将其复制到您的应用程序文件夹中。
下面的导入行假定您在 appengine 应用程序源的根文件夹下的“pytz”文件夹中拥有 gae.py 文件。
您可以从这里下载 pytz.gae 模块: https://code.google.com/p/gae-pytz/
我将它与 Python 2.7 GAE 应用程序一起使用,它运行良好。
【讨论】:
【参考方案2】:我使用 gae-pytz,效果很好。看起来你可能有路径问题。 pytz 目录是否在您的应用引擎项目的根目录中?那是它应该在的地方。
【讨论】:
我在我的电脑上找不到 pytz 目录。我找到了 pytz.dmg 并重新安装了它,但没有帮助。 从这里下载源代码:pypi.python.org/pypi/gaepytz。然后将 pytz 目录移动到应用引擎项目的根目录。以上是关于ImportError,在谷歌应用引擎中使用 pytz的主要内容,如果未能解决你的问题,请参考以下文章
谷歌应用引擎(python):ImportError no module named django