views:

33

answers:

1

I am using Pyton 2.7 as this seems to be only Python MSI downloadable at the moment from Python.org.

self.redirect(users.create_login_url(self.request.uri)) fails when running on dev_appserver

localhost:8081/_ah/login?continue=http%3A//localhost%3A8081/ returns a 500.

Although this does work: localhost:8081/_ah/admin/datastore

Stack Trace:

ERROR    2010-08-10 13:21:11,111 dev_appserver.py:3239] Exception encountered handling request
Traceback (most recent call last):
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 3199, in _HandleRequest
    self._Dispatch(dispatcher, self.rfile, outfile, env_dict)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 3142, in _Dispatch
    base_env_dict=env_dict)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 524, in Dispatch
    base_env_dict=base_env_dict)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 2449, in Dispatch
    CGIDispatcher.Dispatch(self, *args, **kwargs)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 2401, in Dispatch
    self._module_dict)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 2438, in curried_exec_cgi
    return ExecuteCGI(*args, **kwargs)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 2309, in ExecuteCGI
    logging.debug('Executing CGI with env:\n%s', pprint.pformat(env))
  File "C:\Python27\lib\pprint.py", line 60, in pformat
    return PrettyPrinter(indent=indent, width=width, depth=depth).pformat(object)
  File "C:\Python27\lib\pprint.py", line 119, in pformat
    self._format(object, sio, 0, 0, {}, 0)
  File "C:\Python27\lib\pprint.py", line 137, in _format
    rep = self._repr(object, context, level - 1)
  File "C:\Python27\lib\pprint.py", line 230, in _repr
    self._depth, level)
  File "C:\Python27\lib\pprint.py", line 242, in format
    return _safe_repr(object, context, maxlevels, level)
  File "C:\Python27\lib\pprint.py", line 284, in _safe_repr
    for k, v in _sorted(object.items()):
  File "C:\Python27\lib\pprint.py", line 75, in _sorted
    with warnings.catch_warnings():
  File "C:\Python27\lib\warnings.py", line 327, in __init__
    self._module = sys.modules['warnings'] if module is None else module
KeyError: 'warnings'
INFO     2010-08-10 13:21:11,117 dev_appserver.py:3268] "GET /_ah/login?continue=http%3A//localhost%3A8080/ HTTP/1.1" 500 -
A: 

I would recommend that you use 2.5.4, which is the exact version used in production. You can get an MSI from here:

http://www.python.org/download/releases/2.5.4/

I haven't tried 2.7, but I initially tried 2.6 and found that sending mail didn't work. It worked fine once I downgraded to 2.5.4 though.

Saxon Druce
Uninstalled 2.7, installed 2.5.4 x86 MSI using this link and pointed the GAE Launcher at the new Python.exe and it now works.