无法导入ndb

时间:2012-04-10 19:21:09

标签: python google-app-engine

我刚接触过Google App Engine。我加入了一个项目而没有关于它如何工作的线索,所以如果这个问题看起来很蠢,我很抱歉。

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

我试图从控制台导入它,它也不起作用。我安装的python和谷歌应用程序引擎很干净,我今天都做了。

我该怎么办?

我正在使用python 2.7和谷歌应用引擎1.6.4开发Windows。

这是给我提问的代码:

from wtforms.ext.appengine.ndb import model_form

这是错误:

  

INFO 2012-04-10 19:44:34,582 dev_appserver.py:2884]“获取/   HTTP / 1.1“500 - ERROR 2012-04-10 19:47:05,239 wsgi.py:189]   回溯(最近一次调用最后一次):文件“C:\ Program Files   (x86)\ Google \ google_appengine \ google \ appengine \ runtime \ wsgi.py“,行   187,处理中       handler = _config_handle.add_wsgi_middleware(self._LoadHandler())文件“C:\ Program Files   (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行,装饰       return func(self,* args,** kwargs)文件“C:\ Program Files(x86)\ Google \ google_appengine \ google \ appengine \ tools \ dev_appserver_import_hook.py”,   第1850行,在load_module中       return self.FindAndLoadModule(submodule,fullname,search_path)文件“C:\ Program Files   (86)\谷歌\ google_appengine \谷歌\ AppEngine上\ TOOLS \ dev_appserver_import_hook.py”   第676行,装饰       return 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行,装饰       return 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.comments import *文件“C:\ Program Files(x86)\ Google \ google_appengine \ google \ appengine \ tools \ dev_appserver_import_hook.py”,   第676行,装饰       return func(self,* args,** kwargs)文件“C:\ Program Files(x86)\ Google \ google_appengine \ google \ appengine \ tools \ dev_appserver_import_hook.py”,   第1850行,在load_module中       return self.FindAndLoadModule(submodule,fullname,search_path)文件“C:\ Program Files   (86)\谷歌\ google_appengine \谷歌\ AppEngine上\ TOOLS \ dev_appserver_import_hook.py”   第676行,装饰       return 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行,装饰       return 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行,in       从py.form导入IspezioneForm,NonconformitaForm,DietaForm,NotaForm文件“C:\ Program Files   (86)\谷歌\ google_appengine \谷歌\ AppEngine上\ TOOLS \ dev_appserver_import_hook.py”   第676行,装饰       return func(self,* args,** kwargs)文件“C:\ Program Files(x86)\ Google \ google_appengine \ google \ appengine \ tools \ dev_appserver_import_hook.py”,   第1850行,在load_module中       return self.FindAndLoadModule(submodule,fullname,search_path)文件“C:\ Program Files   (86)\谷歌\ google_appengine \谷歌\ AppEngine上\ TOOLS \ dev_appserver_import_hook.py”   第676行,装饰       return 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行,装饰       return 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行,in       来自wtforms.ext.appengine.ndb import model_form ImportError:没有名为ndb的模块

2 个答案:

答案 0 :(得分:3)

你需要像这样导入它:

from google.appengine.ext import ndb

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

更新: WTForms不包含在AppEngine SDK中。您需要在系统上install it

答案 1 :(得分:0)

from wtforms.ext.appengine.ndb import model_form

无法正常工作。 wtforms没有ndb包。 它应该是:

from wtforms.ext.appengine.db import model_form