Multiple versions of Python on OS X Leopard Multiple versions of Python on OS X Leopard python python

Multiple versions of Python on OS X Leopard


There's nothing inherently wrong with having multiple versions of Python around. Sometimes it's a necessity when using applications with version dependencies. Probably the biggest issue is dealing with site-package dependencies which may vary from app to app. Tools like virtualenv can help there. One thing you should not do is attempt to remove the Apple-supplied Python in /System/Library/Frameworks and linked to from /usr/bin/python. (Note the recent discussion of multiple versions here.)


Ian Bicking's virtualenv allows me to have isolated Pythons for each application I build, and lets me decide whether or not to include the global site-packages in the isolated Python environment.

I haven't tried it with Zope, but I'm guessing that the following should work nicely:

  1. Using your Zope's Python, make a new virtualenv, either with or without --no-site-packages
  2. Drop your Zope into the virtualenv
  3. Activate the environment with $VENV/bin/activate
  4. Install any needed site-packages
  5. Run your Zope using the Python now at $VENV/bin/python

This has worked brilliantly for managing Django projects with various versions of Python, Django, and add-ons.

This article seems to go into more detail on the specifics of Grok and Virtualenv, but the generalities should apply to Zope as welll.


+1 for virtualenv.

Even if you don't need different Python versions, it's still good to keep your development dependencies seperate from your system Python.

I'm not sure what OS you are using, but I find these instructions very useful for getting python development environments running on OSX.