Installation

Using setuptools

To obtain the latest released version of statsmodels using pip

pip install -U statsmodels

Or follow this link to our PyPI page, download the wheel or source and install.

Statsmodels is also available in through conda provided by Anaconda. The latest release can be installed using

conda install -c conda-forge statsmodels

Obtaining the Source

We do not release very often but the master branch of our source code is usually fine for everyday use. You can get the latest source from our github repository. Or if you have git installed:

git clone git://github.com/statsmodels/statsmodels.git

If you want to keep up to date with the source on github just periodically do:

git pull

in the statsmodels directory.

Installation from Source

You will need a C compiler installed to build statsmodels. If you are building from the github source and not a source release, then you will also need Cython. You can follow the instructions below to get a C compiler setup for Windows.

Linux

Once you have obtained the source, you can do (with appropriate permissions):

python setup.py install

Or:

python setup.py build
python setup.py install

Windows

It is strongly recommended to use 64-bit Python if possible.

Python 2.7

Obtain Microsoft Visual C++ Compiler for Python 2.7 and then install using

python setup.py install

Python 3.5

Download and install the most recent version of Visual Studio Community Edition and then install using

python setup.py install

32-bit or other versions of Python

You can build 32-bit version of the code on windows using mingw32.

First, get and install mingw32. Then, you’ll need to edit distutils.cfg. This is usually found somewhere like C:Python27Libdistutilsdistutils.cfg. Add these lines:

[build]
compiler=mingw32

Then in the statsmodels directory do:

python setup.py build
python setup.py install

OR

You can build 32-bit Microsoft SDK. Detailed instructions can be found on the Cython wiki here. The gist of these instructions follow. You will need to download the free Windows SDK C/C++ compiler from Microsoft. You must use the Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1 to be comptible with Python 2.7, 3.1, and 3.2. The link for the 3.5 SP1 version is

https://www.microsoft.com/en-us/download/details.aspx?id=18950

For Python 3.3 and 3.4, you need to use the Microsoft Windows SDK for Windows 7 and .NET Framework 4, available from

https://www.microsoft.com/en-us/download/details.aspx?id=8279

For 7.0, get the ISO file GRMSDKX_EN_DVD.iso for AMD64. After you install this, open the SDK Command Shell (Start -> All Programs -> Microsoft Windows SDK v7.0 -> CMD Shell). CD to the statsmodels directory and type:

set DISTUTILS_USE_SDK=1

To build a 64-bit application type:

setenv /x64 /release

To build a 32-bit application type:

setenv /x86 /release

The prompt should change colors to green. Then proceed as usual to install:

python setup.py build
python setup.py install

For 7.1, the instructions are exactly the same, except you use the download link provided above and make sure you are using SDK 7.1.

If you want to accomplish the same without opening up the SDK CMD SHELL, then you can use these commands at the CMD Prompt or in a batch file.:

setlocal EnableDelayedExpansion
CALL "C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin\SetEnv.cmd" /x64 /release
set DISTUTILS_USE_SDK=1

Replace /x64 with /x86 and v7.0 with v7.1 as needed.

Dependencies

  • Python >= 2.7, including Python 3.x
  • NumPy >= 1.8
  • SciPy >= 0.14
  • Pandas >= 0.14
  • Patsy >= 0.3.0
  • Cython >= 0.24 is required to build the code from github but not from a source distribution.

Optional Dependencies

  • Matplotlib >= 1.4 is needed for plotting functions and running many of the examples.
  • If installed, X-12-ARIMA or X-13ARIMA-SEATS can be used for time-series analysis.
  • Nose is required to run the test suite.
  • IPython >= 3.0 is required to build the docs locally or to use the notebooks.
  • joblib >= 0.9 can be used to accelerate distributed estimation for certain models.
  • jupyter is needed to run the notebooks.