a distribution of scientific software for the Mac, running on Python 3.2
Python Shell
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



NOTE Shrubbery is alpha quality at best.

Shrubbery is a distribution of Python 3 software for MacOS X Lion. A complete, precompiled stack of software is provided including:

  • iPython with Qt console
  • 'pylab', comprising numpy, scipy and matplotlib
  • and additionally useful libraries including Cairo, LXML, Pygments

Shrubbery aims to be installable with minimal dependencies.

A prerequisite is the Python 3.2.2 installation from python.org: http://www.python.org/ftp/python/3.2.2/python-3.2.2-macosx10.6.dmg


As yet I have not made an installer or binary image of Shrubbery avaialable.

To use shrubbery simply add:

source /opt/shrubbery/shrubbery.env

to your shell 'rc' file (typically $HOME/.bashrc or $HOME/.zshrc, etc)

This adds programs from shrubbery to your path, and sets up PYTHONPATH so that Python modules from it are available. You should now be able to type ipython3 and a full iPython console will appear. For an interactive Qt console, run ipython3 qtconsole


The guts work. There seem to be a number of Python3 related bugs throughout, especially in the Qt console. One of the goals of this project is to make a good Python 3 environment easily available so we can all work to move to the new version of the language.


So far Shrubbery has only been tested on my laptop running OS X Lion 10.7.1.

You'll need to install gfortran for Numpy to build. I've been using this binary distribution: http://prdownloads.sourceforge.net/hpc/gfortran-lion.tar.gz

You'll also need to install the latest version of Xcode 4 - I just got it from the Mac App store.


sudo mkdir /opt/shrubbery
sudo chown <myuser> /opt/shrubbery
cd /path/to/shrubbery/checkout
python3 shrubbery.py

If you need to re-run the build, you will have to clean out the build/ directory. As the code stands it determines the directory contained in a tar file by looking for new directories that appear; that needs tidying up.

Making an installer

Build into /opt/shrubbery Run ./licenses.sh > LICENSES.txt Open installer/Shrubbery.pmdoc. Click 'make package' and save your package somewhere. Done!

(When testing, remember to move your old /opt/shrubbery out of the way)


Many of the patches to be found in patches/ were taken from the homebrew and macports projects.