I’m still tinkering with Google App Engine, and thus with Python and BigTable. So far I am having trouble getting my head into the solution space provided by the likes of BigTable and memcache. I keep wandering toward solutions where a traditional database seems more appropriate rather than solutions which make use of the advantages of the provided apis. More work needed.
BigTable and Why it Changes Everything
This is a really useful article for what I am doing right now. A selection of Google AppEngine hints and tips from someone who has done a few apps already. I particularly like the reminder about providing static favicon and robots.txt files - something I have bumped into in plenty of other web development situations but had kind of forgot in the excitement of playing with AppEngine.
Google App Engine optimizations
A page pointing at some App Engine code examples:
google-app-engine-samples - Google Code
or alternatively, just svn checkout the trunk from
http://google-app-engine-samples.googlecode.com/svn/
I’ve been looking at Google App Engine recently, and thought I’d have a go at developing something using Eclipse (my main IDE) with the Python development plugin PyDev rather than a motley collection of text editors and scripts. Here’s how I got on so far.
I already have Eclipse Europa, so I connected to the PyDev update site I told PyDev where my Python interpreter is located and accepted the default pythonpath entries, then created a new PyDev project and pasted in the example code from the Google App Engine tutorial.
All was going well up to this point, but then I hit a problem. PyDev was showing errors in the code indicating that it could not find the App Engine modules and classes to import.
I looked around the internet and found the following links purporting to help:
Adding in the pythonpath settings from the first one didn’t seem to work. I tried a variety of combinations including creating a new appengine project with the appropriate source folders and referenced it in my new project. Still no luck.
So I created a new project following the steps in the second link, and there were no import problems, even though by default it contains a very simple web application using the App Engine. So I copied and pasted the code from the offending module into the new project and everything seems fine now. I have set up the dev server as a run target in Eclipse and it runs sweetly.
I can only assume that it was the order in which I did things, somehow. Perhaps adding pythonpath entries after code is already present is not picked up correctly by PyDev. Dunno, but I hope this helps someone.