Deploying DjangoAppEngine to the High Replication Datastore

922 views Asked by At

I just setup the DjangoAppEngine testapp following the project's instructions.

All went well locally, and I could access the testapp's home page by running python manage.py runserver. However, when I attempt to deploy by running python manage.py deploy, I get the error:

Error 400: --- begin server output ---
The 'python27' runtime is only supported for apps using the High
Replication Datastore.
--- end server output ---

I'm developing on Ubuntu 10.04, which still uses Python26, so I tried changing the runtime in my app.yaml to python26, but this apparently breaks the SDK, which requires python27 or later. Even though I only have Python 2.6 installed locally, the GAE dev server seems to run perfectly.

So instead, per the instructions, I added the following to my settings.py:

from djangoappengine.settings_base import *
DATABASES['default']['HIGH_REPLICATION'] = True

But attempting to deploy still gives me the same error.

I haven't deployed any code to my GAE account yet, however, I may have created the account before the high replication datastore was officially available.

Is there anything else I need to do?

2

There are 2 answers

0
philofinfinitejest On BEST ANSWER

Under Application Settings on the app engine dashboard page you will see 'Datastore Replication Options' which should report High Replication if your app was created with a high replication datastore. If it wasn't then you will have to create a new app and select high replication for that datastore. Some more detail: http://googleappengine.blogspot.com/2011/01/announcing-high-replication-datastore.html

1
Nick Johnson On

You're getting this error because Python 2.7 is only supported on the High Replication datastore, and as the message indicates, your app was not created with the HR datastore. You need to create a new app that uses the HR datastore.

Also, your attempt to specify python26 as the runtime fails because there is no Python 2.6 runtime.