2015-09-23 5 views
3

Получение прекрасной ошибки:Как импортировать колба в AppEngine

ERROR 2015-09-23 13:14:12,500 cgi.py:122] Traceback (most recent call last): 
    File "public/run.py", line 2, in <module> 
    from src import app 
    File "public/src/__init__.py", line 1, in <module> 
    from flask import Flask 
ImportError: No module named flask 

Я установил колбу в public/lib с pip install -t lib -r requirements.txt.

public/appengine_config.py

from google.appengine.ext import vendor 

# Add any libraries installed in the "lib" folder 
vendor.add('lib') 

# also does not work 
# import os 
# vendor.add(os.path.join(os.path.dirname(os.path.realpath(__file__)), 'lib')) 

public/app.yaml

version: 1 
runtime: python27 
api_version: 1 
threadsafe: false 

handlers: 
- url: /static 
    static_dir: src/static 

- url:/
    script: run.py 

public/run.py

from google.appengine.ext.webapp.util import run_wsgi_app 
from src import app 

run_wsgi_app(app) 

public/src/__init__.py

from flask import Flask 
# import settings 

app = Flask('app') 
# app.config.from_object('src.settings') 

import views 

ответ

2

Посмотрите на Starter Project. Что еще более важно, вы должны изменить свой app.yaml, чтобы указать на приложение wsgi для фляжки.

- url: .* 
    script: src.app 

run.py сценарий и run_wsgi_app() старый способ запуска приложения и не должны использоваться.

2

Возможно, вы также захотите проверить проект gae-init, поскольку он использует флягу и построен на GAE. Я нашел, что это отличный способ быстро встать и бежать.

+1

Приятная находка, спасибо! – Tjorriemorrie