Python is a popular, stable, and well-performing programming language. Many different Linux distributions use it, including CentOS 7. CentOS 7 uses Python 2.7.5, but as Python has updated to 3.7.2., this can create challenges. If the default version of Python is updated, it can break base system components like the yum package manager. Python 3.7.1 Oct. 20, 2018 Download Release Notes. The same source code archive can also be used to build the Windows and Mac versions, and is the starting point.
The easiest way to install statsmodels is to install it as part of the Anacondadistribution, a cross-platform distribution for data analysis and scientificcomputing. This is the recommended installation method for most users.
Instructions for installing from PyPI, source or a development version are also provided.
Python Support¶
statsmodels supports Python 3.6, 3.7 and 3.8.
Anaconda¶
statsmodels is available through conda provided byAnaconda. The latest release canbe installed using:
PyPI (pip)¶
To obtain the latest released version of statsmodels using pip:
Follow this link to our PyPI page to directlydownload wheels or source.
For Windows users, unofficial recent binaries (wheels) are occasionallyavailable here.
Obtaining the Source¶
We do not release very often but the master branch of our source code isusually fine for everyday use. You can get the latest source from ourgithub repository. Or if youhave git installed:
If you want to keep up to date with the source on github just periodically do:
in the statsmodels directory.
Installation from Source¶
You will need a C compiler installed to build statsmodels. If you are buildingfrom the github source and not a source release, then you will also needCython. You can follow the instructions below to get a C compiler setup forWindows.
If your system is already set up with pip, a compiler, and git, you can try:
If you do not have pip installed or want to do the installation more manually,you can also type:
Or even more manually
statsmodels can also be installed in develop mode which installs statsmodelsinto the current python environment in-place. The advantage of this is thatedited modules will immediately be re-interpreted when the python interpreterrestarts without having to re-install statsmodels.
Compilers¶
Linux¶
If you are using Linux, we assume that you are savvy enough to install gcc onyour 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 should helpclarify which version of Python uses which compiler by default.
Mac¶
Installing statsmodels on MacOS requires installing gcc which providesa suitable C compiler. We recommend installing Xcode and the Command LineTools.
Dependencies¶
The current minimum dependencies are:
Python >= 3.6
NumPy >= 1.15
SciPy >= 1.2
Pandas >= 0.23
Patsy >= 0.5.1
Cython is required to build from a git checkout but not to run or install from PyPI:
Cython >= 0.29 is required to build the code fromgithub but not from a source distribution.
Given the long release cycle, statsmodels follows a loose time-based policy fordependencies: minimal dependencies are lagged about one and a half to twoyears. Our next planned update of minimum versions is expected in the firsthalf of 2020.
Optional Dependencies¶
cvxopt is required for regularized fitting ofsome models.
Matplotlib >= 2.2 is needed for plottingfunctions and running many of the examples.
If installed, X-12-ARIMA orX-13ARIMA-SEATS can be usedfor time-series analysis.
pytest is required to runthe test suite.
IPython >= 5.0 is required to build thedocs locally or to use the notebooks.
joblib >= 0.9 can be used to accelerate distributedestimation for certain models.
jupyter is needed to run the notebooks.
PEP: | 537 |
---|---|
Title: | Python 3.7 Release Schedule |
Author: | Ned Deily <nad at python.org> |
Status: | Active |
Type: | Informational |
Created: | 23-Dec-2016 |
Python-Version: | 3.7 |
Contents
- Release Schedule
This document describes the development and release schedule forPython 3.7. The schedule primarily concerns itself with PEP-sizeditems.
- 3.7 Release Manager: Ned Deily
- Windows installers: Steve Dower
- Mac installers: Ned Deily
- Documentation: Julien Palard
3.7 will receive bugfix updatesapproximately every 3 months for about 24 months. Sometime after the release of3.8.0 final, a final 3.7 bugfix update will be released.After that, it is expected thatsecurity updates(source only) will be released as needed until 5 years afterthe release of 3.7 final, so until approximately 2023-06.
3.7.0 schedule
- 3.7 development begins: 2016-09-12
- 3.7.0 alpha 1: 2017-09-19
- 3.7.0 alpha 2: 2017-10-17
- 3.7.0 alpha 3: 2017-12-05
- 3.7.0 alpha 4: 2018-01-09
- 3.7.0 beta 1: 2018-01-31(No new features beyond this point.)
- 3.7.0 beta 2: 2018-02-27
- 3.7.0 beta 3: 2018-03-29
- 3.7.0 beta 4: 2018-05-02
- 3.7.0 beta 5: 2018-05-30
- 3.7.0 candidate 1: 2018-06-12
- 3.7.0 final: 2018-06-27
3.7.1 schedule (first bugfix release)
- 3.7.1 candidate 1: 2018-09-26
- 3.7.1 candidate 2: 2018-10-13
- 3.7.1 final: 2018-10-20
3.7.2 schedule
Update Python To 3.7 Mac
- 3.7.2 candidate 1: 2018-12-11
- 3.7.2 final: 2018-12-24
3.7.3 schedule
- 3.7.3 candidate 1: 2019-03-12
- 3.7.3 final: 2019-03-25
3.7.4 schedule
- 3.7.4 candidate 1: 2019-06-18
- 3.7.4 candidate 2: 2019-07-02
- 3.7.4 final: 2019-07-08
3.7.5 schedule
- 3.7.5 candidate 1: 2019-10-02
- 3.7.5 final: 2019-10-15
3.7.6 schedule
- 3.7.6 candidate 1: 2019-12-11
- 3.7.6 final: 2019-12-18
3.7.7 schedule
- 3.7.7 candidate 1: 2020-03-04
- 3.7.7 final: 2020-03-10
3.7.8 schedule (last bugfix release)
Last planned release of binaries
- 3.7.8 candidate 1: 2020-06-15
- 3.7.8 final: 2020-06-27
3.7.9 schedule (security/binary release)
Security fixes plus updated binary installersto address 3.7.8 issues; no further binaryreleases are planned.
- 3.7.9 final: 2020-08-17
3.7.11 and beyond schedule
Security fixes only, as needed, until 2023-06
- TBD
Implemented PEPs for 3.7 (as of 3.7.0 beta 1):
- PEP 538, Coercing the legacy C locale to a UTF-8 based locale
- PEP 539, A New C-API for Thread-Local Storage in CPython
- PEP 540, UTF-8 mode
- PEP 552, Deterministic pyc
- PEP 553, Built-in breakpoint()
- PEP 557, Data Classes
- PEP 560, Core support for typing module and generic types
- PEP 562, Module __getattr__ and __dir__
- PEP 563, Postponed Evaluation of Annotations
- PEP 564, Time functions with nanosecond resolution
- PEP 565, Show DeprecationWarning in __main__
- PEP 567, Context Variables
This document has been placed in the public domain.