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的主要内容,如果未能解决你的问题,请参考以下文章

无法在谷歌应用引擎中为 php 应用程序配置更改对象通知

谷歌应用引擎(python):ImportError no module named django

如何在谷歌应用引擎和计算引擎之间建立私有连接?

如何在谷歌应用引擎上将帖子从数据库异步加载到 django 模板?

使用python在谷歌应用引擎上出现xmpp错误

“network: session_affinity:true” app.yaml 文件的属性没有反映在谷歌应用引擎中