我正在使用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')
的目錄。使用這種方法Flask似乎可以正常導入,但Flask似乎無法在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)