Friday, June 17, 2011

Google App Engine Python + PyCharm = love

I think I have just found the best debugging / development environment ( IDE ) for google app engine. PyCharm.

Not surprising. Its from JetBrains :) They guys that make ReSharper (a lovely VisualStudio C# plugin) and IntelliJ IDEA (the best performing java development IDE I used a long time ago ... one that people love and use despite free eclipse / netbeans being available).

I like my IDEs snappy and PyCharm is like a Snappy Snake :)

And it feels like its made with google app engine (AND / OR)  django in mind.

NOTE: PyCharm version 1.5, Google App Engine version : 1.5.0

As soon as you start PyCharm you see the following screen :
Click on Create a New Project and you get the option to create a GoogleAppEngine application right off the bat as shown:
Setup the project name (your choice) / location (your choice) and type (as Google App Engine project) and click Ok and you are presented with the following screen:

(NOTE: I was working on x64 machine. That is probably why the SDK is not filled ... nonetheless)
Filled in the SDK as : "C:\Program Files (x86)\Google\google_appengine" (note working on x64 machine otherwise it is : "C:\Program Files\Google\google_appengine"
Setup the python interpreter (I prefer to use portable python that is why it does show up by default) by clicking on the browse icon and then selecting Add.

And Finally click Ok.

I now have a debug-able Google App Engine project available. In the screen shot below I setup a break point, just clicked the debug icon, waited for app engine to start and browsed to http://localhost:8080

Just installing PyCharm and creating a new project and I can already debug! This is much more like the visual studio experience that I love and adore and was afraid I might never find with GAE.

Also check out pycharm figured out the google app engine import locations without me telling it anything other than the google app engine install path:

If it wasn't for this software I really was about to give up on GAE because without a powerful trouble shooting / development environment like this maintaining applications would have been a real hassel.

Yes I am madly in love with Python and now PyCharm.