title: Web2py this not working with Google App Engine (GAE)
body: <p>I'm having trouble using the web2py on google app server (gae).
  The error is giving when I insert the url <code>localhost:8080</code> in browser is:</p>
  
  <pre><code>rafael@rafael-debian:~/rafael/google_appengine$ python dev_appserver.py ../web2py/
  INFO     2015-03-20 03:38:20,075 sdk_update_checker.py:229] Checking for updates to the SDK.
  INFO     2015-03-20 03:38:20,520 sdk_update_checker.py:257] The SDK is up to date.
  INFO     2015-03-20 03:38:21,109 api_server.py:172] Starting API server at: http://localhost:41836
  INFO     2015-03-20 03:38:21,202 dispatcher.py:186] Starting module "default" running at: http://localhost:8080
  INFO     2015-03-20 03:38:21,203 admin_server.py:118] Starting admin server at: http://localhost:8000
  INFO     2015-03-20 03:38:32,968 module.py:737] default: "GET / HTTP/1.1" 404 -
  INFO     2015-03-20 03:38:33,172 module.py:737] default: "GET /favicon.ico HTTP/1.1" 404 -
  </code></pre>
  
  <p>The problem is in <code>app.yaml</code>. I used based on the <code>app.example.yaml</code> file, I made the necessary changes, but still does not work</p>
  
  <p>Below is the simplifed structure like this the directories <code>web2py</code> and <code>google_appengine</code> and file <code>app.yaml</code>:</p>
  
  <pre><code>web2py/
  ├── anyserver.py
  ├── applications
  │   ├── admin
  │   ├── core
  │   ├── examples
  │   └── welcome
  ├── app.yaml
  ├── handlers
  │   ├── cgihandler.py
  │   ├── fcgihandler.py
  │   ├── gaehandler.py
  │   ├── isapiwsgihandler.py
  │   ├── modpythonhandler.py
  │   ├── README
  │   ├── scgihandler.py
  │   ├── web2py_on_gevent.py
  │   └── wsgihandler.py
  ├── web2py.py
  └── welcome.w2p
  │
  google_appengine/
  ├── dev_appserver.py
  </code></pre>
  
  <p><strong>app.yaml</strong></p>
  
  <pre><code>#  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: core
  version: 1
  api_version: 1
  
  # use these lines for Python 2.7
  # upload app with: appcfg.py update web2py (where 'web2py' is web2py's root directory)
  #
  runtime: python27
  threadsafe: false    # true for WSGI &amp; concurrent requests (Python 2.7 only)
  
  default_expiration: "24h"   # for static files
  
  handlers:
  
  # Warning! Static mapping - below - isn't compatible with 
  # the parametric router's language logic. 
  # You cannot use them together.
  
  - url: /(.+?)/static/_\d.\d.\d\/(.+)
    static_files: applications/\1/static/\2
    upload: applications/(.+?)/static/(.+)
    secure: optional
    expiration: "365d"
  
  - url: /(.+?)/static/(.+)
    static_files: applications/\1/static/\2
    upload: applications/(.+?)/static/(.+)
    secure: optional
  
  - url: /favicon.ico
    static_files: applications/core/static/favicon.ico
    upload: applications/core/static/favicon.ico
  
  - url: /robots.txt
    static_files: applications/core/static/robots.txt
    upload: applications/welcome/static/robots.txt
  
  - url: .*
    script: handlers/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/examples/.*)|
   ((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\.py)|
   (contrib/(gateways|markdown|memcache|pymysql)/.*)|
   (contrib/(populate|taskbar_widget)\.py)|
   (google_appengine/.*)|
   (.*\.(bak|orig))|
   )$
  
  builtins:
  - remote_api: on
  - appstats: on
  - admin_redirect: on
  - deferred: on
  </code></pre>
  
  <p>Version:
    Python 2.7.9;
    Web2py 2.9.12;
    GAE 1.9.18</p>
  
  <p>Could someone help me run the web2py with google app engine. I've tried everything I read countless articles already in forums and groups, videos on youtube but nothing worked.
  Thank you for attention</p>