Pre-built installation

Windows binaries are kindly provided by Christoph Gohlke.

The latest stable release is also included as part of Enthought Canopy, Python(x,y) and Anaconda.

On Debian and Ubuntu, a Debian package python-skimage can be found in the Neurodebian repository. Follow the instructions to add Neurodebian to your system package manager, then look for python-skimage in the package manager.

On systems that support setuptools, the package can be installed from the Python packaging index using

easy_install -U scikit-image


pip install -U scikit-image

Installation from source

Obtain the source from the git-repository at by running:

git clone

in a terminal (you will need to have git installed on your machine).

If you do not have git installed, you can also download a zipball from

The SciKit can be installed globally using:

python install

or locally using:

python install --prefix=${HOME}

If you prefer, you can use it without installing, by simply adding this path to your PYTHONPATH variable and compiling extensions in-place:

python build_ext -i

Building with bento

scikit-image can also be built using bento. Bento depends on WAF for compilation.

Follow the Bento installation instructions and download the WAF source.

Tell Bento where to find WAF by setting the WAFDIR environment variable:

export WAFDIR=<path/to/waf>

From the scikit-image source directory:

bentomaker configure
bentomaker build -j     # (add -i for in-place build)
bentomaker install      # (when not builing in-place)

Depending on file permissions, the install commands may need to be run as sudo.

Build Requirements

Matplotlib >= 1.0 is needed to generate the examples in the documentation.

You can use pip to automatically install the base dependencies as follows:

$ pip install -r requirements.txt

Runtime requirements

Known build errors

On Windows, the error Error:unable to find vcvarsall.bat means that distutils is not correctly configured to use the C compiler. Modify (or create, if not existing) the configuration file distutils.cfg (located for example at C:\Python26\Lib\distutils\distutils.cfg) to contain:


Usage Requirements

Optional Requirements

You can use this scikit with the basic requirements listed above, but some functionality is only available with the following installed:

  • PyQt4

    The qt plugin that provides imshow(x, fancy=True) and skivi.

  • FreeImage

    The freeimage plugin provides support for reading various types of image file formats, including multi-page TIFFs.

  • PyAMG

    The pyamg module is used for the fast cg_mg mode of random walker segmentation.

  • Pillow

    (or <`PIL>`__) The Pillow library (or equivalently PIL) is used for Input/Output.

  • Astropy is required to use the FITS io plug-in.

Testing requirements

  • Nose

    A Python Unit Testing Framework


    A tool that generates a unit test code coverage report