2015-07-11 91 views
1

我想在Google App引擎中使用CherryPY框架運行Web應用程序。我無法在本地運行開發服務器中的基本helloworld代碼(從下載的SDK)在Google App引擎中運行cherrypy

我得到ImportError: No module named cherrypy。雖然我沒有使用PIP安裝和相同的代碼工作使用

python hello.py(去除谷歌進口)

安裝 CherryPy的,這是我hello.py

import random 
import string 
import cherrypy 
from google.appengine.ext.webapp.util import run_wsgi_app 

class StringGenerator(object): 
    @cherrypy.expose 
    def index(self): 
     return "Hello world!" 

    @cherrypy.expose 
    def generate(self): 
     return ''.join(random.sample(string.hexdigits, 8)) 


if __name__ == '__main__': 
    cherrypy.quickstart(StringGenerator(), '/') 

和我應用程序。 yaml file

version: 1 
runtime: python27 
api_version: 1 
threadsafe: true 
# [START handlers] 
handlers: 
- url: /.* 
    script: hello.app 
# [END handlers] 

# [START libraries] 
libraries: 
- name: webapp2 
    version: latest 
- name: jinja2 
    version: latest 
# [END libraries] 

回答

3

CherryPy的是不是打包爲App Engine中的一部分,但因爲它是一個純Python框架,你可以訴諸vendoring將其添加到您的項目,以便開發服務器可以把它撿起來:

$ mkdir lib 

$ pip install -t lib cherrypy 

創建一個新的appengine_config.py文件在您的應用程序的根,相同的位置,你app.yaml等等,其內容如下:

from google.appengine.ext import vendor 

vendor.add('lib') 

更多信息,可以發現herehere