GAE 1.5.5 looks to have awesome features. They're not working for me
yet. Below are some of the issues I'm having.
Here's roughly my app.yaml (which has been altered for privacy
reasons, as is example code below).
---- app.yaml ----
application: AAA # mystical creation.
version: alpha-1
runtime: python27
api_version: 1
threadsafe: true
handlers:
- url: /media
static_dir: media/
- url: /favicon.ico
static_files: media/images/favicon.ico
upload: media/images/favicon.ico
- url: /crossdomain.xml
static_files: media/crossdomain.xml
upload: media/crossdomain.xml
- url: /admin
script: AAA.app
login: admin
- url: /.*
script: AAA.app
skip_files:
- ^(.*/)?app\.yaml
- ^(.*/)?app\.yml
- ^(.*/)?index\.yaml
- ^(.*/)?index\.yml
- ^(.*/)?#.*#
- ^(.*/)?.*~
- ^(.*/)?.*\.py[co]
- ^(.*/)?.*/RCS/.*
- ^(.*/)?\..*
- ^(.*/)?.*\.bak$
- ^local.*$
- ^var.*$
libraries:
- name: django
version: "1.2"
- name: jinja2
version: latest
- name: yaml
version: latest
---- End app.yaml ----
I'm on Mac OS X Lion (10.7.1).
I hypothesize that I am not actually using the Python 2.7 runtime, in
spite of the declaration in app.yaml to use it. I've not validated
this theory, but the errors I've encountered are consistent with it.
==========
Python Path
==========
When Google App Engine's Python Path is not set, the app engine runs
using Python 2.6.6.
To fix this I set Python Path to /usr/bin/python2.7 in the Google App
Engine preferences.
=====
WSGI
=====
I get the following error:
/Applications/GoogleAppEngineLauncher.app/Contents/Resources/
GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
google/appengine/tools/dev_appserver.py in
GetParentPackage(self=<google.appengine.tools.dev_appserver.HardenedModulesHook
object>, fullname='AAA.app')
2334
2335 if self.find_module(fullname) is None:
=> 2336 raise ImportError('Could not find module %s' %
fullname)
2337
2338 return self._module_dict[parent_module_fullname]
builtin ImportError = <type 'exceptions.ImportError'>, fullname =
'AAA.app'
<type 'exceptions.ImportError'>: Could not find module AAA.app
args = ('Could not find module AAA.app',)
message = 'Could not find module AAA.app'
Where I've tried AAA.app as:
AAA.py:
from google.appengine.dist import use_library
use_library('django', '1.2') # otherwise we still get django 0.96
from AAA.initialize import Initializer
Initializer.run() # do stuff to init (logs, etc.)
from django.core.handlers import wsgi
app = wsgi.WSGIHandler()
AAA/__init__.py
# same content as above
AAA/AAA.py
# same content as above
Note that I can continue to run CGI with app.yaml and AAA.py modified,
mutatis mutandis. However doing so results in the errors below:
=====
Jinja2
=====
When I run `import jinja2` I get an ImportError.
=======
Django2
=======
Without:
from google.appengine.dist import use_library
use_library('django', '1.2')
I end up with Django 0.96.
======
Theory
======
Given the following:
- http://code.google.com/appengine/docs/python/tools/libraries27.html
states "The use_library() function provided by the
google.appengine.dist package is unavailable in Python 2.7."
- use_library works for me
- use_library is required because the "libraries: {django: {...,
version: "1.2"}} declaration does not set the django version to 1.2
- Only Django 1.2 is included in the Python 2.7 runtime (per the
libraries27.html link above)
- I have to manually specify Python 2.7 in the Python Path in order
for GAE to use Python 2.7
- WSGI doesn't load the application properly
- Jinja2 cannot be imported
I believe I am not really using the Python 2.7 GAE runtime (i.e. the
app.yaml declaration is being ignored).
I hope the above is helpful, and I am available to contact directly
for any further information.
--
You received this message because you are subscribed to the Google Groups
"Google App Engine" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-appengine?hl=en.