docs/source/install.rst
:orphan:
.. _install:
The easiest way to install statsmodels is to install it as part of the Anaconda <https://docs.continuum.io/anaconda/>_
distribution, a cross-platform distribution for data analysis and scientific
computing. This is the recommended installation method for most users.
Instructions for installing from PyPI, source or a development version are also provided.
statsmodels supports Python 3.9, 3.10, 3.11, 3.12, and 3.13.
statsmodels is available through conda provided by
Anaconda <https://www.anaconda.com/products/individual#Downloads>__. The latest release can
be installed using:
.. code-block:: bash
conda install -c conda-forge statsmodels
To obtain the latest released version of statsmodels using pip:
.. code-block:: bash
python -m pip install statsmodels
Follow this link to our PyPI page <https://pypi.org/project/statsmodels/>__ to directly
download wheels or source.
For Windows users, unofficial recent binaries (wheels) are occasionally
available here <https://www.lfd.uci.edu/~gohlke/pythonlibs/#statsmodels>__.
We do not release very often but the main branch of our source code is
usually fine for everyday use. You can get the latest source from our
github repository <https://github.com/statsmodels/statsmodels>__. Or if you
have git installed:
.. code-block:: bash
git clone git://github.com/statsmodels/statsmodels.git
If you want to keep up to date with the source on github just periodically do:
.. code-block:: bash
git pull
in the statsmodels directory.
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.
If your system is already set up with pip, a compiler, and git, you can try:
.. code-block:: bash
python -m pip install git+https://github.com/statsmodels/statsmodels
If you do not have git installed or want to do the installation more manually, you can also type:
.. code-block:: bash
python -m pip install .
statsmodels can also be installed in develop mode which installs statsmodels
into the current python environment in-place. The advantage of this is that
edited modules will immediately be re-interpreted when the python interpreter
restarts without having to re-install statsmodels.
.. code-block:: bash
python -m pip install -e .
It is usually recommended to use the --no-build-isolation to speed up
the build process.
Compilers
Linux
^^^^^
If you are using Linux, we assume that you are savvy enough to install `gcc` on
your own. More than likely, it is already installed.
Windows
^^^^^^^
It is strongly recommended to use 64-bit Python if possible.
Getting the right compiler is especially confusing for Windows users. Over time,
Python has been built using a variety of different Windows C compilers.
`This guide <https://wiki.python.org/moin/WindowsCompilers>`_ should help
clarify which version of Python uses which compiler by default.
macOS
^^^
Installing statsmodels on macOS requires installing `gcc` which provides
a suitable C compiler. We recommend installing Xcode and the Command Line
Tools, which can be done through the following command:
.. code-block:: bash
xcode-select --install
Dependencies
------------
The current minimum dependencies are:
* `Python <https://www.python.org>`__ >= 3.9
* `NumPy <https://www.scipy.org/>`__ >= 1.22.3
* `SciPy <https://www.scipy.org/>`__ >= 1.8
* `Pandas <https://pandas.pydata.org/>`__ >= 1.4
* `Patsy <https://patsy.readthedocs.io/en/latest/>`__ >= 0.5.6
Cython is required to build from a git checkout but not to run or install from PyPI:
* `Cython <https://cython.org/>`__ >= 3.0.10 is required to build the code from
github but not from a source distribution.
Given the long release cycle, statsmodels follows a loose time-based policy for
dependencies: minimal dependencies are lagged about one and a half to two
years. Our next planned update of minimum versions is expected in the first
half of 2020.
Optional Dependencies
---------------------
* `cvxopt <https://cvxopt.org/>`__ is required for regularized fitting of
some models.
* `Matplotlib <https://matplotlib.org/>`__ >= 3 is needed for plotting
functions and running many of the examples.
* If installed, `X-12-ARIMA <https://www.census.gov/srd/www/x13as/>`__ or
`X-13ARIMA-SEATS <https://www.census.gov/srd/www/x13as/>`__ can be used
for time-series analysis.
* `pytest <https://docs.pytest.org/en/latest/>`__ is required to run
the test suite.
* `IPython <https://ipython.org>`__ >= 6.0 is required to build the
docs locally or to use the notebooks.
* `joblib <https://joblib.readthedocs.io/>`__ >= 1.0can be used to accelerate distributed
estimation for certain models.
* `jupyter <https://jupyter.org/>`__ is needed to run the notebooks.
The optional dependencies can be installed along with `statsmodels` by modifying
the installation command:
.. code-block:: bash
python -m pip install statsmodels[extras]
where ``<extras>`` is a comma-separated list of extras to install (``build``,
``develop``, ``docs``).