Tuesday, May 12, 2009

Testing on Pydev 1.4.6 & Google App Engine Integration

Ok, Pydev 1.4.6 is mostly finished, just waiting for some more tests before the final release... those who'd like to get it and test it are very welcome to do so, as it should be pretty stable already (see: http://pydev.blogspot.com/2009/02/pydev-nightly-builds.html on how to get it).

One of the major features in this release is targeted at people using Google App Engine in Pydev: now there's specific support for creating, running and managing/uploading a Google App Engine project.

To create a new project, there's a new wizard:

The specific parts of the wizard are:

Location of the Google App Engine installation directory

From there it gets the settings needed to create a GOOGLE_APP_ENGINE string substitution variable (that's also something new in 1.4.6: you can configure the PYTHONPATH of your project using variables) and the paths for the external libraries to be added to the PYTHONPATH of the new project.

Choose a template to start the project

Do you want a different quick start? If you think there's a common project structure that's missing, please send me a zip of the project with that structure to be added to the plugin (with a brief description for it).

After that, with the project created, you can use the Pydev Google App Engine specific actions by right-clicking the folder that has the app.yaml file (see number 1 in the image). From there you can launch it (number 2) or manage it (number 3).

To upload your application to Google App Engine, open the dialog below (from choosing "Pydev: Manage project in Google App Engine") and click 'Run' (or choose/enter another command). If a username or password or any other input is requested, enter it in the text-field and press 'Enter command' (it should properly echo the password as '*' -- if there's some situation where it's not echoing the char and it should, please enter a bug report).

It's also interesting to note that any existing project can be configured as a Pydev Google App Engine project (thus having those actions) by specifying a GOOGLE_APP_ENGINE string substitution variable in the Pydev Project properties -- and don't forget that the actions should be executed on the directory that contains your app.yaml file.


Anonymous said...

Google App Engine is nice, but what about Django support?

Fabio Zadrozny said...

Well, this is the 1st time there's a special support for a 3rd party framework in Pydev (it has to start somewhere) and the idea is that if it's appreciated, other frameworks could also follow having a special support -- and django is probably also in the top of those.

Anonymous said...

Thank you very much :-)

Anonymous said...

+1 for django support but google app engine support is ok too, does it play nicely with the appengine launcher ?

Fabio Zadrozny said...

If by appengine launcher you mean the run as > app engine (or debug as app engine) using app engine to serve the pages locally, then yes, it does play nicely with that.

Leo Soto said...

For people interested on Django support: I did a (rough) prototype of Django support for PyDev and demo'ed it on PyCon, see around minute 12:30 of the Django on Jython presentation.

I uploaded the binaries on this update site, but be warned that I didn't implemented the prototype as a separate plugin, but modified PyDev itself. Thus, the binaries will conflict with any PyDev version you have installed.

But as I'll work on making a production ready version of the plugin as my thesis goal for this year, you should hear better news from my side soon.

m_Zoqui said...

Nice job - Congratulation!
I really love pydev, and already got using to manually configure the appengine.

But now appengine support is fantastic.

I have a small question: I'm trying to have a tiny portable package including python+pydev+eclipse+appengine which I can work on pendrive.
Everythime I copy it to another directory, I need to replace the python interpreter or change the workspace pydev plugin created metafile.

Is it possible to make use of relative path on interpreter configuration?

Thank you,

Unknown said...

I really like PyDev. But since 1.4.5 I struggle with it a bit. I simply cannot open project!
When I create a new project and restart Eclipse, project doesn't open automatically and "open project" also doesn't work.
Any suggestions what I'm doing wrong?

Eclipse 3.4.2, PyDev 1.4.6, CentOS 5.1

Fabio Zadrozny said...

Don't really know why it could be happening... Please ask at the forum giving details on any error log entries you may have.

p.s.: this blog is not the appropriate place for these doubts. Please ask at http://sourceforge.net/forum/forum.php?forum_id=293649 or report bugs following: http://pydev.sourceforge.net/faq.html#how_do_i_report_a_bug

Anonymous said...

nice to see coming webframwork support.

How can I get other webframeworks working with it?

Anonymous said...

excellent job! thx!

dhaval said...

nice and the key part is "you can use the Pydev Google App Engine specific actions by right-clicking the folder that has the app.yaml file.", this took some time to figure out as I was clicking everywhere except the source till I saw this blog.

Think it can be simplified?

Fabio Zadrozny said...

I do accept suggestions (please enter a feature request for it).