2012-03-10 131 views
4

如何設置Web2Py [Version 1.99.4 (2011-12-14 14:46:14) stable]作爲WSGI應用程序運行在GAEPython2.7.2使用Python2.7在GAE上運行web2py作爲WSGI應用程序

目前,我app.yaml文件看起來像:

# For Google App Engine deployment, copy this file to app.yaml 
# and edit as required 
# See http://code.google.com/appengine/docs/python/config/appconfig.html 
# and http://web2py.com/book/default/chapter/11?search=app.yaml 

application: my-app-name 
version: 1 
api_version: 1 

# use this line for Python 2.5 
# 
# runtime: python 

# use these lines for Python 2.7 
# upload app with: appcfg.py update web2py (where 'web2py' is web2py's root directory) 

runtime: python27 
threadsafe: true 
# true for WSGI & concurrent requests (Python 2.7 only) 

default_expiration: "24h" 
# for static files 

handlers: 

- url: /(?P<a>.+?)/static/(?P<b>.+) 
    static_files: applications/\1/static/\2 
    upload: applications/(.+?)/static/(.+) 
    secure: optional 

- url: /favicon.ico 
    static_files: applications/welcome/static/favicon.ico 
    upload: applications/welcome/static/favicon.ico 

- url: /robots.txt 
    static_files: applications/welcome/static/robots.txt 
    upload: applications/welcome/static/robots.txt 

- url: .* 
    script: gaehandler.py   
    # CGI 
# script: gaehandler.wsgiapp # WSGI (Python 2.7 only) 
    secure: optional 

admin_console: 
    pages: 
    - name: Appstats 
    url: /_ah/stats 

skip_files: | 
^(.*/)?(
(app\.yaml)| 
(app\.yml)| 
(index\.yaml)| 
(index\.yml)| 
(#.*#)| 
(.*~)| 
(.*\.py[co])| 
(.*/RCS/.*)| 
(\..*)| 
(applications/(admin|examples|welcome)/.*)| 
((admin|examples|welcome)\.(w2p|tar))| 
(applications/.*?/(cron|databases|errors|cache|sessions)/.*)| 
((logs|scripts)/.*)| 
(anyserver\.py)| 
(web2py\.py)| 
((cgi|fcgi|modpython|wsgi)handler\.py)| 
(epydoc\.(conf|css))| 
(httpserver\.log)| 
(logging\.example\.conf)| 
(route[rs]\.example\.py)| 
(setup_(app|exe)\.py)| 
(splashlogo\.gif)| 
(parameters_\d+\.py)| 
(options_std.py)| 
(gluon/tests/.*)| 
(gluon/(rocket|winservice)\.py)| 
(contrib/(gateways|markdown|memcache|pymysql)/.*)| 
(contrib/(populate|taskbar_widget)\.py)| 
(google_appengine/.*)| 
(.*\.(bak|orig))| 
)$ 

builtins: 
- remote_api: on 
- datastore_admin: on 
- appstats: on 
- admin_redirect: on 
- deferred: on 

,但我得到試圖加載與AppEngine SDK for Python (v1.6.3)應用程序時出現以下錯誤:

2012-03-10 12:37:01 Running command: "[u'C:\\Python27\\pythonw.exe', 'C:\\Program Files\\Google\\google_appengine\\dev_appserver.py', '--admin_console_server=', '--port=8088', u'E:\\Programming\\Python\\web2py']" 
WARNING 2012-03-10 07:07:18,851 rdbms_mysqldb.py:74] The rdbms API is not available because the MySQLdb library could not be loaded. 
ERROR 2012-03-10 07:07:20,483 dev_appserver_main.py:581] Fatal error when loading application configuration: 
Invalid object: 
threadsafe cannot be enabled with CGI handler: gaehandler.py 
    in "E:\Programming\Python\web2py\app.yaml", line 90, column 1 
2012-03-10 12:37:20 (Process exited with code 1) 

此外,還有什麼我應該知道threadsafeWSGI應用程序,因爲我是新手嗎?我是否需要對我的應用程序進行任何更改才能將其作爲一個整體運行?

回答

7

註釋掉gaehandler.py行並取消註釋gaehandler.wsgiapp行。

+2

此外,您應該禁用datastore_admin內建,因爲它不受python27支持。 – 2012-03-11 02:26:36

相關問題