저는 Flask를 사용하는 Google App Engine 프로젝트에서 작업하고 있습니다. 플라스크가 Jinja2를 사용하고 있습니다. Flask와 모든 필수 모듈을 프로젝트의 루트 폴더에 넣으면 서버가 올바르게 시작됩니다. 그러나 디렉토리를 약간 정리하여 Flask와 다른 모듈 (Jinja2 포함)을 'lib'라는 하위 디렉토리로 옮겼습니다. GAE - Flask가 Jinja2를 하위 디렉토리에서 가져올 수 없습니까?
app.yaml
main.py
myapp
__init__.py
view.py
blahblah.py
lib
flask
jinja2
OtherModules
그런 다음 응용 프로그램의 main.py 파일에 내가
sys.path.insert(0, 'lib')
를 사용하여 디렉토리를 추가 : 같은 내 프로젝트 보인다. 플라스크는이 방법을 사용하여 벌금을 가져 오는 것 같지만, 플라스크는 둘 다 lib 폴더에서 Jinja2를 찾을 수없는 것 같습니다. 내 실행 dev_appserver 시험에서보기에 액세스하려고 할 때 내가 얻을 :
File "lib/flask/__init__.py", line 19, in <module>
from jinja2 import Markup, escape
ImportError: No module named jinja2
가 어떻게 플라스크는 Jinja2를 찾아 (및 기타 모듈은 자신의 요구 사항을 찾을 수) lib 디렉토리에 그들을 유지하고 있지 않는 반면하도록 할 수 있습니다 모듈을 편집하여 경로를 조정 하시겠습니까? 다음은
알고 도움이 될 것에 경우 뭔가 내 main.py 파일입니다 추가하려면 애플리케이션 제목의 파일에 사용하면 응용 프로그램 엔진 응용 프로그램에서이 라인을 신사를 포함하기 위해import sys
sys.path.insert(0, 'lib')
from google.appengine.ext.webapp.util import run_wsgi_app
from myapp import app
run_wsgi_app(app)