views:

996

answers:

3

Is the transition to Python 3.x for Google App Engine likely to be difficult? I know Google App Engine requires the use of at least Python 2.5. Is it possible to use Python 3.0 already on Google App Engine?

+2  A: 

It is impossible to currently use Python 3.x applications on Google App Engine. It's simply not supported, and I'd expect to see support for Java (or Perl, or PHP) before Python 3.x.

That said, the upgrade path is likely to be very simple from Python 2.5 to Python 3.x on App Engine. If/when the capability is added, as long as you've coded your application anticipating the changes in Python itself, it should be very straightforward. The heavy lifting has to be done by the Google Engineers. And you'll no doubt be able to keep your application at Python 2.5 for a long while after Python 3.0 is available.

Chris B.
+1  A: 

At least at the being, Guido was working closely with the team at Google who is building AppEngine. When this option does become available, you will have to edit your main XAML file.

I agree with Chris B. that Python 3.0 support may not be forthcoming too soon, but I'm not sure I agree that it will come sooner than Perl or PHP. At the Google I/O conference last year, they were very mum on what future languages they would support on AppEngine but they were pretty clear on the fact that they're actively exploring how to safely allow other code to run. One of the main reason they chose to support Python is that they due to it's dynamically compiled nature, they could support 3rd party library extensions with the minimal restriction that all add-ons must be in pure Python.

I wouldn't be surprised if Python 3.0 support was introduced sooner than new languages.

ewalk
It certainly could be. But without support libraries for it (there aren't a lot of Python libraries being released for 2.x *and* 3.0 currently) I'd wager a guess the demand for other languages vastly outstrips the demand for Python 3.0.
Chris B.
Chris, I'm sure you're right about the demand. relatively few of us are pushing for Python 3.0, versus the numerous posts in the AppEngine forums requesting Java, Ruby, PHP and many others. However, it would see to be easier for Google to add support for Python 3.0 than add another language.
ewalk
A: 

The app.yaml syntax already supports multiple languages and multiple API versions, though only one of each (Python, API version 1) is currently supported. Presumably, one of those extension mechanisms will be used to specify that you want Python 3, and it'll be up to you to port your app over to work in Python 3, then change that setting.

Nick Johnson