GNU/Linux & macOS#
Prerequisites#
To use PyBaMM, you must have Python 3.9, 3.10, 3.11, or 3.12 installed.
To install Python 3 on Debian-based distributions (Debian, Ubuntu), open a terminal and run
sudo apt-get update
sudo apt-get install python3
On macOS, you can use the homebrew
package manager. First, install
brew:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
then follow instructions in the link on adding brew
to path, and run
brew install python
Install PyBaMM#
User install#
We recommend to install PyBaMM within a virtual environment, in order
not to alter any distribution Python files.
First, make sure you are using Python 3.9, 3.10, 3.11, or 3.12.
To create a virtual environment env
within your current directory type:
virtualenv env
You can then “activate” the environment using:
source env/bin/activate
Now all the calls to pip described below will install PyBaMM and its
dependencies into the environment env
. When you are ready to exit
the environment and go back to your original system, just type:
deactivate
PyBaMM can be installed via pip. On macOS, it is necessary to install the SUNDIALS library beforehand.
In a terminal, run the following command:
pip install pybamm
In a terminal, run the following command:
pip install pybamm
PyBaMM’s required dependencies (such as numpy
, casadi
, etc) will be
installed automatically when you install PyBaMM using pip
.
For an introduction to virtual environments, see (https://realpython.com/python-virtual-environments-a-primer/).
Optional - JaxSolver#
Users can install jax
and jaxlib
to use the Jax solver.
pip install "pybamm[jax]"
The pip install "pybamm[jax]"
command automatically downloads and installs pybamm
and the compatible versions of jax
and jaxlib
on your system.
Optional - IREE / MLIR support#
Users can install iree
(for MLIR just-in-time compilation) to use for main expression evaluation in the IDAKLU solver. Requires jax
.
pip install "pybamm[iree,jax]"
The pip install "pybamm[iree,jax]"
command automatically downloads and installs pybamm
and the compatible versions of jax
and iree
onto your system.
Uninstall PyBaMM#
PyBaMM can be uninstalled by running
pip uninstall pybamm
in your virtual environment.