# Installing SpacePy

The simplest way from zero (no Python) to a working SpacePy setup is:

> 1. Install the Anaconda Python environment. Python 3 is strongly recommended (64-bit is recommended).

> 2. `pip install --upgrade spacepy`

If you already have a working Python setup, install SpacePy by:

> 1. `pip install --upgrade numpy`

> 2. `pip install --upgrade spacepy`

This will install a binary build of SpacePy if available (currently only on Windows), otherwise it will attempt to compile. It will also install most dependencies.

`numpy` must be installed first as it’s required for the SpacePy build. See Windows Installation for important notes regarding numpy on Windows.

If you are familiar with installing Python packages, have particular preferences for managing an installation, or if the above doesn’t work, refer to platform-specific instructions and the details below. (In particular, if you will use `LANLstar`).

For installing the NASA CDF library to support `pycdf`, see the platform-specific instructions linked below.

The first time a user imports SpacePy, it automatically creates the configuration directory.

If you need further assistance, you can open an issue.

- SpacePy Dependencies
- Linux Installation
- MacOS Installation
- Windows Installation

SpacePy installs with the common Python distutils and pip.

The latest stable release is provided via PyPI To install from PyPI, make sure you have pip installed:

    pip install --upgrade spacepy

If you are installing for a single user, and are not working in a virtual environment, add the `--user` flag when installing with pip.

Source releases are available from PyPI and our github. Development versions are on github.

After downloading and unpacking, run (a virtual environment, such as a conda environment, is recommended):

    python setup.py install

or, to install for all users (not in a virtual environment):

    sudo python setup.py install

or, to install for a single user (not in a virtual environment):

    python setup.py install --user

If you do not have administrative privileges, or you will be developing for SpacePy, we strongly recommend using virtual environments.

To install in custom location, e.g.:

    python setup.py install --home=/n/packages/lib/python

Installs using `setup.py` do not require setuptools.