我刚刚从Python 2.5迁移到2.7运行时,并且我写的大多数服务器运行良好。但是我看到occassionaly这个奇怪的堆栈跟踪(我砍死下来为了简洁):ImportError:Jinja2模板中没有名为_sqlite3的模块
ERROR 2013-04-23 10:40:15,598 wsgi.py:235]
Traceback (most recent call last):
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/jinja2-2.6/jinja2/environment.py", line 894, in render
return self.environment.handle_exception(exc_info, True)
File "templates/querystart.html", line 30, in top-level template code
{% for session in sessions %}
ImportError: No module named _sqlite3
我没有进口sqlite3的自己,我不依赖于它。那调用它的代码非常简单(对事物的哑面也许接壤):
class UserIdQuery(BaseHandler):
def get(self):
sessionQuery=Session.all().order("userid")
template_values = {
'sessions': sessionQuery,
}
self.render_template('querystart.html',**template_values)
上面简单地延伸到下方(从一个非常有用的迁移教程拍摄)
class BaseHandler(webapp2.RequestHandler):
@webapp2.cached_property
def jinja2(self):
return jinja2.get_jinja2(app=self.app)
def render_template(self, filename, **template_args):
self.response.write(self.jinja2.render_template(filename, **template_args))
任何人都知道什么可能触发导入错误?谢谢,
谢谢,我试过了,在Sublime Text 2的SublimeREPL和iterm中,并且导入sqlite3似乎工作正常。从那以后,我已经安装了sqlite3,尽管没有重启服务器。这是一个很好的提示,但最好知道是什么导致ImportError出现在第一位。 – personalnadir 2013-04-23 13:14:08
hmm sqlite通常作为标准python2.7运行时的一部分安装,不需要单独安装。那么在Windows和Linux下,我不知道OSX。 – 2013-04-23 13:39:41