1

我刚刚接触了 Google App Engine。我加入了一个项目,但不知道它是如何工作的,所以如果这个问题看起来很愚蠢,我很抱歉。

我的问题是查看日志,它说它无法导入ndb。我查了一下,发现这应该默认出现在谷歌应用引擎的 1.6.4 版本中。

我试图从控制台导入它,它也不起作用。我安装的 python 和 google app 引擎都很干净,我今天都安装了。

我应该怎么办?

我正在使用 python 2.7 和 google app engine 1.6.4 在 Windows 上工作。

这是给我带来问题的代码行:

from wtforms.ext.appengine.ndb import model_form

这是错误:

INFO 2012-04-10 19:44:34,582 dev_appserver.py:2884]“GET / HTTP/1.1”500 - 错误 2012-04-10 19:47:05,239 wsgi.py:189] 回溯(最近一次通话最后) :文件“C:\Program Files (x86)\Google\google_appengine\google\appengine\runtime\wsgi.py”,第 187 行,在句柄处理程序 = _config_handle.add_wsgi_middleware(self._LoadHandler()) 文件“C:\Program文件 (x86)\Google\google_appengine\google\appengine\runtime\wsgi.py",第 236 行,在 _LoadHandler 导入中(cumulative_path) 文件“C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py”,第 676 行,装饰返回 func(self, *args, **kwargs) 文件“C: \Program Files (x86)\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py",第 1850 行,在 load_module 中返回 self.FindAndLoadModule(submodule, fullname, search_path) File "C:\Program Files (x86)\Google \google_appengine\google\appengine\tools\dev_appserver_import_hook.py",第 676 行,在装饰中返回 func(self, *args, **kwargs) 文件 "C:\Program Files (x86)\Google\google_appengine\google\appengine\ tools\dev_appserver_import_hook.py”,第 1722 行,在 FindAndLoadModule 描述中)文件“C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py",第 676 行,在装饰中返回 func(self, *args, **kwargs) 文件 "C:\Program Files (x86)\ Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py”,第 1665 行,在 LoadModuleRestricted 描述中)文件“C:\Users\chobeat\workspace\pappa Mi\py\main.py”,第 38 行,来自 py。评论导入 * 文件“C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py”,第 676 行,装饰返回 func(self, *args, **kwargs) 文件“C: \Program Files (x86)\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py",第 1850 行,在 load_module 返回 self.FindAndLoadModule(submodule, fullname,search_path) 文件“C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py”,第 676 行,装饰返回 func(self, *args, **kwargs) 文件“C:\ Program Files (x86)\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py”,第 1722 行,在 FindAndLoadModule 描述中)文件“C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook .py”,第 676 行,在装饰中返回 func(self, *args, **kwargs) 文件“C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py”,第 1665 行,在 LoadModuleRestricted 描述中)文件“C:\Users\chobeat\workspace\pappa Mi\py\comments.py”,第 20 行,从 py.form 导入 IspezioneForm,NonconformitaForm、DietaForm、NotaForm 文件“C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py”,第 676 行,装饰返回 func(self, *args, **kwargs) 文件“ C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py",第 1850 行,在 load_module 中返回 self.FindAndLoadModule(submodule, fullname, search_path) File "C:\Program Files (x86) \Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py”,第 676 行,在装饰返回 func(self, *args, **kwargs) 文件“C:\Program Files (x86)\Google\google_appengine\google\ appengine\tools\dev_appserver_import_hook.py”,第 1722 行,在 FindAndLoadModule 描述中)文件“C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py",第 676 行,在装饰中返回 func(self, *args, **kwargs) 文件 "C:\Program Files (x86)\ Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py”,第 1665 行,在 LoadModuleRestricted 描述中)文件“C:\Users\chobeat\workspace\pappa Mi\py\form.py”,第 6 行,来自 wtforms。 ext.appengine.ndb import model_form ImportError: No module named ndb\Users\chobeat\workspace\pappa Mi\py\form.py",第 6 行,来自 wtforms.ext.appengine.ndb import model_form ImportError: No module named ndb\Users\chobeat\workspace\pappa Mi\py\form.py",第 6 行,来自 wtforms.ext.appengine.ndb import model_form ImportError: No module named ndb

4

2 回答 2

3

您需要像这样导入它:

from google.appengine.ext import ndb

如果您只是说import ndb您错过了一些导入路径信息。不要害怕将有问题的代码复制到您的问题中。通常,这将提供重要的线索。

更新: WTForms 不包含在 AppEngine SDK 中。您需要在系统上安装它

于 2012-04-10T19:30:31.127 回答
0
from wtforms.ext.appengine.ndb import model_form

不能工作。wtforms 没有 ndb 包。它应该是:

from wtforms.ext.appengine.db import model_form
于 2012-04-11T13:20:46.723 回答