# Development install on windows

## The easy way - a super-package

The easiest way to get the dependencies is to install PythonXY or the Enthought Tool Suite . This gives you MinGW, Python, Numpy, Scipy, ipython and matplotlib (and much more).

## The hard way - by components

If instead you want to do it by component, try the instructions below.

Requirements:

- Download and install MinGW

- Download and install the windows binary for Python

- Download and install the Numpy and Scipy binaries

- Download and install Sympy

Options:

- Download and install ipython, being careful to follow the windows installation instructions

- Download and install matplotlib

Alternatively, if you are very brave, you may want to install numpy / scipy from source - see our maybe out of date Building Scipy/Numpy on Windows with Optimized Numerical Libraries for details.

## Getting and installing NIPY

You will next need to get the NIPY code via version control:

- Download and install the windows binary for git

- Go to the windows menu, find the `git` menu, and run `git` in a windows terminal.

You should now be able to follow the instructions in Submitting a patch, but with the following modifications:

## Running the build / install

Here we assume that you do not have the Microsoft visual C tools, you did not use the ETS package (which sets the compiler for you) and are using a version of MinGW to compile NIPY.

First, for the `python setup.py` steps, you will need to add the `--compiler=mingw32` flag, like this:

    python setup.py build --compiler=mingw32 install

Note that, with this setup you cannot do inplace (developer) installs (like `python setup.py build_ext --inplace`) because of a six-legged python packaging feature that does not allow the compiler options (here `--compiler=mingw32`) to be passed from the `build_ext` command.

If you want to be able to do that, add these lines to your `distutils.cfg` file

    [build]
    compiler=mingw32

    [config]
    compiler = mingw32

See http://docs.python.org/install/#inst-config-files for details on this file. After you’ve done this, you can run the standard `python setup.py build_ext --inplace` command.

### The command line from Windows

The default windows XP command line `cmd` is very basic. You might consider using the Cygwin bash shell, or you may want to use the ipython shell to work in. For system commands use the `!` escape, like this, from the ipython prompt:

    !python setup.py build --compiler=mingw32