Installing the SciPy Stack

These are instructions for installing the full SciPy stack. For installing individual packages, such as NumPy and SciPy, see Windows packages below.

Scientific Python distributions

For most users, especially on Windows and Mac, the easiest way to install the packages of the SciPy stack is to download one of these Python distributions, which includes all the key packages:

  • Anaconda: A free distribution for the SciPy stack. Supports Linux, Windows and Mac.
  • Enthought Canopy: The free and commercial versions include the core SciPy stack packages. Supports Linux, Windows and Mac.
  • Python(x,y): A free distribution including the SciPy stack, based around the Spyder IDE. Windows only.
  • WinPython: A free distribution including the SciPy stack. Windows only.
  • Pyzo: A free distribution based on Anaconda and the IEP interactive development environment. Supports Linux, Windows and Mac.

Linux packages

Users on Linux can quickly install the necessary packages from repositories.

Ubuntu & Debian

sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose

The versions in Ubuntu 12.10 or newer and Debian 7.0 or newer meet the current SciPy stack specification. Users might also want to add the NeuroDebian repository for extra SciPy packages.


sudo yum install numpy scipy python-matplotlib ipython python-pandas sympy python-nose atlas-devel

The versions in Fedora 17 or newer meet the current SciPy stack specification.


sudo emerge -aN '>=dev-python/numpy-1.6' '>=sci-libs/scipy-0.10' '>=dev-python/matplotlib-1.1' '>=dev-python/ipython-0.13' '>=dev-python/pandas-0.8' '>=dev-python/sympy-0.7' '>=dev-python/nose-1.1'

You may get some messages saying that keyword changes or USE changes are necessary in order to proceed, and that you should use --autounmask-write to write changes to config files.

If this happens, just run the above command with --autounmask-write appended, then run sudo dispatch-conf (or an alternative) to save the configuration changes, and finally run the original command again.

Mac packages

Macs (unlike Linux) don’t come with a package manager, but there are a couple of popular package managers you can install.


To install the SciPy stack for Python 2.7 with Macports execute this command in a terminal:

sudo port install py27-numpy py27-scipy py27-matplotlib py27-ipython +notebook py27-pandas py27-sympy py27-nose


At the time of writing (March 2016), Homebrew does not have the full SciPy stack available (i.e. you cannot do brew install <formula> for everything).

Windows packages

Windows does not have any package manager analogous to that in Linux, so installing one of the scientific Python distributions mentioned above is preferred. However, if that is not an option, Christoph Gohlke provides pre-built Windows installers for many Python packages, including all of the core SciPy stack, which work extremely well.

Individual binary and source packages

The maintainers of many of the packages in the SciPy stack provide “official” binary installers for common Windows and OS-X systems that can be used to install the packages one by one. These installers are generally built to be compatible with the Python binaries available from

You can also build any of the SciPy packages from source, for instance if you want to get involved with development. This is easy for packages written entirely in Python, while others like NumPy require compiling C code. Refer to individual projects for more details.