views:

35

answers:

2

I have updated to version 1.2.5 of the Python appengine SDK. However, now I am getting the following error:

Traceback (most recent call last): 
  File "C:\Program Files\Google\google_appengine\google\appengine\ext 
\webapp\__init__.py", line 507, in __call__ 
    handler.get(*groups) 
  File "C:\Documents and Settings\DOLSEN\My Documents 
\Eclipse3.5Projects\Pick'em GAE\src\index.py", line 14, in get 
    template_values = get_template_values(self) 
  File "C:\Documents and Settings\DOLSEN\My Documents 
\Eclipse3.5Projects\Pick'em GAE\src\globals.py", line 94, in 
get_template_values 
    url = users.create_login_url("/") 
  File "C:\Program Files\Google\google_appengine\google\appengine\api 
\users.py", line 171, in create_login_url 
    apiproxy_stub_map.MakeSyncCall('user', 'CreateLoginURL', req, 
resp) 
  File "C:\Program Files\Google\google_appengine\google\appengine\api 
\apiproxy_stub_map.py", line 72, in MakeSyncCall 
    apiproxy.MakeSyncCall(service, call, request, response) 
  File "C:\Program Files\Google\google_appengine\google\appengine\api 
\apiproxy_stub_map.py", line 255, in MakeSyncCall 
    rpc.CheckSuccess() 
  File "C:\Program Files\Google\google_appengine\google\appengine\api 
\apiproxy_rpc.py", line 111, in CheckSuccess 
    raise self.exception 
AttributeError: StringProto instance has no attribute 'set_login_url'

The code it is referring to is:

url = users.create_login_url("/")

Any idea as to why I am getting this error? It was working before the update. I posted this on the App Engine Google group with no luck.

A: 

Are you sure you have the current code for everything? set_login_url is defined in google/appengine/api/user_service_pb.py

That method (which is part of the CreateLoginURLRequest class) is new in 1.2.5 and was checked in with r73.

Apologies if this has already been checked.

seth
I used the .msi installer file from Google. The user_service_pb.py file is there and does contain set_login_url.
Dan
A: 

I fixed the issue by completely uninstalling the SDK and then re-installing it. A Repair and installation over the previous directory does not guarantee a clean update.

Dan