NIPY logo

Site Navigation

NIPY Community

Table Of Contents

Previous topic

A history of NIPY

Next topic

Tutorials

This Page

Download and Install

This page covers the necessary steps to install and run NIPY. Below is a list of required dependencies, along with additional software recommendations.

NIPY is currently ALPHA quality, but is rapidly improving. If you are trying to get some work done wait until we have a stable release. For now, the code will primarily be of interest to developers.

Dependencies

Must Have

Python 2.5 or later

NumPy 1.2 or later

SciPy 0.7 or later
Numpy and Scipy are high-level, optimized scientific computing libraries.
Sympy 0.6.6 or later
Sympy is a symbolic mathematics library for Python. We use it for statistical formalae.
gcc
NIPY does contain a few C extensions for optimized routines. Therefore, you must have a compiler to build from source. XCode (OSX) and MinGW (Windows) both include gcc. (Once we have binary packages, this requirement will not be necessary.)
cython 0.11.1 or later
Cython is a language that is a fusion of Python and C. It allows us to write fast code using Python and C syntax, so that it easier to read and maintain. You need Cython if you are building the development source code (and that is what you have to do at the moment, because we don’t yet have a release).

Strong Recommendations

iPython
Interactive python environment.
Matplotlib
2D python plotting library.

Installing from binary packages

Currently we do not have binary packages. Until we do, the easiest installation method is to download the source tarball and follow the Building from source code instructions below.

Building from source code

Developers should look through the development quickstart documentation. There you will find information on building NIPY, the required software packages and our developer guidelines.

If you are primarily interested in using NIPY, download the source tarball and follow these instructions for building. The installation process is similar to other Python packages so it will be familiar if you have Python experience.

Unpack the source tarball and change into the source directory. Once in the source directory, you can build the neuroimaging package using:

python setup.py build

To install, simply do:

sudo python setup.py install

Note

As with any Python installation, this will install the modules in your system Python site-packages directory (which is why you need sudo). Many of us prefer to install development packages in a local directory so as to leave the system python alone. This is mearly a preference, nothing will go wrong if you install using the sudo method. To install in a local directory, use the –prefix option. For example, if you created a local directory in your home directory, you would install nipy like this:

python setup.py install --prefix=$HOME/local

Installing useful data files

See Optional data packages for some instructions on installing data pacakges.

See Design of data packages for the nipy suite for details on how to customize the installation paths.

Building for 64-bit Snow Leopard

How you install nipy for Snow Leopard depends on which version of Python you have installed. There are two versions we know work, using the Python that shipped with Snow Leopard, and using a 64-bit MacPorts version.

If you are using the Python that shipped with Snow Leopard, there are detailed instructions on this blog for installing numpy and scipy. The critical step is to set the appropriate flags for the C and Fortran compilers so they match the architecture of your version of Python. You can discover the architecture of your Python by doing the following:

file `which python`

For example, on my 32-bit Leopard (10.5) it’s a Universal binary, built for both ppc and i386 architectures:

/usr/local/bin/python: Mach-O universal binary with 2 architectures
/usr/local/bin/python (for architecture i386):      Mach-O executable i386
/usr/local/bin/python (for architecture ppc):       Mach-O executable ppc

On a 64-bit MacPorts install on Snow Leopard (10.6), it’s built for 64-bit only:

/opt/local/bin/python: Mach-P 64-bit executable x86_64

For the 64-bit MacPorts install, set the flags and build using this:

export MACOSX_DEPLOYMENT_TARGET=10.6
export LDFLAGS="-arch x86_64 -Wall -undefined dynamic_lookup -bundle -fPIC"
export FFLAGS="-arch x86_64 -O2 -Wall -fPIC"
python setup.py build

These sites may also be useful: