2013-04-23 2 views
0

방금 ​​Python 2.5에서 2.7 런타임으로 마이그레이션했으며 작성한 서버 중 대부분이 정상적으로 실행됩니다. 그러나 나는 occassionaly (I 간결을 위해 그것을 아래로 해킹 한)이 홀수 스택 추적을보고 있어요 :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)) 

누구나 알고있다 (매우 도움이 마이그레이션 튜토리얼에서 촬영) 가져 오기 오류를 일으키는 원인은 무엇입니까? 고마워,

답변

1

Appengine 데이터 저장소에 대한 sqlite를 사용하여 내 내기가 OSX에 설치된 python2.7 sqlite 바이너리 라이브러리가 누락되었습니다. 빠른 테스트를 수행, (에서 appengine의 외부) 파이썬 인터프리터를 시작하고 당신이 불완전한 2.7 런타임이 설치되어 알고 실패하면

$ python 
Python 2.7.3 (default, Sep 26 2012, 21:53:58) 
[GCC 4.7.2] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import sqlite3 
>>> 

sqlite3를 가져 오려고.

+0

감사합니다. Sublime Text 2의 SublimeREPL 및 iterm 내에서 시도해 보았습니다. sqlite3을 가져 오는 것이 정상적으로 작동하는 것 같습니다. 그때부터 sqlite3을 설치했지만 서버를 다시 시작하지는 않았습니다. 그것은 좋은 팁이지만 ImportError가 처음에 나타나는 원인을 파악하는 것이 좋습니다. – personalnadir

+0

hmm sqlite는 일반적으로 표준 python2.7 런타임의 일부로 설치되므로 따로 설치하지 않아도됩니다. Windows와 Linux에서는 OSX에 대해 잘 모릅니다. –

0

나는 동일한 문제를 겪고 있었고 그것을 고쳤다.

저는 Ninite.com에서 설치 한 Python 2.7.3을 실행하고있었습니다.

Python을 제거하고 Python.org에서 2.7.5 설치 프로그램을 다운로드하여 설치했으며 문제가 해결되었습니다.

관련 문제