Skip to content

Installation Guide (Linux)

Jeff Hale edited this page Feb 18, 2021 · 32 revisions

PyMC3 Installation for Linux

The latest release of PyMC3 can be installed from Conda Forge (conda-forge):

conda install -c conda-forge pymc3

While strongly discouraged due to installation problems you could try to install PyMC3 and its dependencies via PyPI using pip:

pip install pymc3

The reason installation via PyPI is difficult, especially on Windows and OSX, is that Theano requires compilation against MKL, which is difficult to set up, while Conda comes with its own compilers and MKL installation. .. note:

Running pip install pymc will install PyMC 2.3, not PyMC3, from PyPI.

The current development branch of PyMC3 can be installed from GitHub, also using pip:

pip install git+https://github.com/pymc-devs/pymc3

Make sure to install the Theano-PyMC version that is pegged in PyMC3's requirements.txt. For more information, see the Theano-PyMC Installation section, below.

Lastly, another option is to clone the repository and install PyMC3 using python setup.py install or python setup.py develop.

Theano-PyMC Installation

PyMC3 is tested on Python 3.7 and 3.8 and depends on NumPy, SciPy, and pandas (see requirements.txt for version information).

Moreover, as of Late 2020, PyMC3 now requires Theano-PyMC instead of Theano.

That being said, you can install PyMC3 using the requirements.txt file.

This requires cloning the repository to your computer:

git clone https://github.com/pymc-devs/pymc3
cd pymc3
pip install -r requirements.txt
  • If you have Theano installed, please remove it and install Theano-PyMC via Conda Forge, seen below:

    conda remove theano

  • If you have an outdated version of Theano-PyMC, then re-install the module via Conda Forge:

    conda remove theano-pymc -y conda install -c conda-forge theano-pymc -y

Arviz Installation

Plotting is done using ArviZ - if you follow the installation instructions above, then it will be installed alongside PyMC3.

Optional

In addtion to the above dependencies, the GLM submodule relies on Patsy.