Google App Engine on a machine with Python 2.4 and Python 2.5

Submitted by jeff on Sun, 04/20/2008 - 21:17.

I want to try using the recently released Google App Engine on my Mac OS X 10.5.2 Leopard machine.

The SDK requires Python 2.5 but I need Python 2.4 because of work. The webapp framework included with the App Engine SDK requires the wsgi module which is part of Python 2.5 but not in Python 2.4. Consequently the Hello World application in the Google App Engine tutorials will not work.

I am trying to get around the version problem and I think I am getting close.

Useful knowledge: the which command will tell you the path for executables that you run. Useful in the case you have the same executable in different locations. which python give /opt/local/bin/python

Update 5/10/08 method 3

Another user just sent me this:

find your path first

echo $PATH

/Users/ryan/bin:/usr/local/bin:/opt/local/bin: /opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin: /usr/local/bin:/usr/X11/bin

now route your path to find 2.5, which i believe is on our macs already from the leopard update

export PATH=/Users/ryan/bin: /usr/local/bin: /usr/bin:/bin: /usr/sbin: /sbin: /usr/local/bin: /usr/X11/bin

Update 5/8/08: method 2

Rather than compiling your own Python using the method above, my friend told me he followed the README included with the App Engine SDK. Following that he was able to get Python 2.5 by just downloading it from the Python website and running the installer. Then he ran the Google installer.

INSTALLING ON Mac OSX
=================
1) Download and install Python 2.5 from http://www.python.org/download/
2) Download the SDK installer from http://code.google.com/appengine/downloads
3) Install the SDK by double-clicking on the GoogleAppEngine.dmg file and running the installer.

To run it you would use this

python2.5 /usr/local/google_appengine/dev_appserver.py \
<app location>

Update April ’08: method 1

Rather than trying to trick Google App Engine SDK into cooperating with Python 2.4, a guy in the UK has handy instructions for getting things to work without trying to have 2 globale versions of Python. Instead, I can have a global Python (2.4) and a local version in my home directory (2.5) for tinkering with the SDK.

Down the wrong path

Do not do it this way because it doesn’t work. I found an ONLamp article that introduces the use of WSGI. Apparently you can checkout WSGI and run it on Python 2.4. Simply checkout the library and copy the entire WSGI directory to your python site-packages directory.

svn co http://svn.python.org/projects/python/trunk/Lib/wsgiref

The site-packages directory on my Mac OS X 10.5 system is

/opt/local/lib/python2.4/site-packages

virtualenv

You should also checkout virtualenv:
http://pypi.python.org/pypi/virtualenv

It creates different python environment for development.

There’s several tutorials available:
http://iamzed.com/2009/05/07/a-primer-on-virtualenv/

-David

reply

Post new comment

The content of this field is kept private and will not be shown publicly.
CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
5 + 0 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.