InstallationLast updated: 2020-01-23

The following section provides information about the installation process on the Linux operating systems within ARM32/ARM64 platforms (example Raspberry(s) 0, 1, 2, 3, 4 ... Android smartphones ...).

Install C/C++ compiler

Most distributions default install include already the gcc and g++ compilers, respectively compiling C and C++ code. In order to check the presence of gcc and g++ on your current distribution, along with their version, one of following commands can be used.

gcc -v
g++ -v

If they are not installed, refer to your distribution support for instructions on how to install them.

Install GraphViz

The presence of GraphViz is required on the system. To check the presence of GraphViz, please give the following command.

dot -h

If GraphViz is not installed, you will get an error from the output of that program. If GraphViz is not installed, you will get an error from the output of that program. To install GraphViz, a command depending on the distribution should be given. We provide some commands for the most widely used distributions.

For Debian/Ubuntu/Raspbian, the following command can be used:

sudo apt install graphviz

Install Python

If Python is not installed, you need to install that.

For Debian/Ubuntu/Raspbian, you can use the following command:

sudo apt install python3 python3-pip

Install Tkinter

Tkinter is required by Python but could not be installed with pip. It is required to install it through the distribution package manager.

For Debian/Ubuntu/Raspbian, you can use the following command:

sudo apt install python3-tk

Install other packages

Other packages needs to be installed in order for PM4Py to work correctly. These include some dependencies that in this platform is risky to install with PIP.

For Debian/Ubuntu/Raspbian, you can use the following command to install the strictly needed packages:

sudo apt install python3-numpy python3-scipy python3-matplotlib python3-pandas python3-pulp

Install the requirements

In this platform, we don't advise to install directly the PM4Py packages or its requirements. Instead, a careful selection of the packages is needed.

To install the strict requirements, the following command can be used (sudo means installing with the root user):

sudo pip3 install cython pyvis networkx>=2.4 ciso8601 lxml graphviz pydotplus scikit-learn sklearn pytz intervaltree pandas==0.25.3

Install PM4Py

After installing the required packages, PM4Py can be eventually installed (without dependencies):

sudo pip3 install --no-deps pm4py

(Optional) CVXOPT requirements

The CVXOPT package is not available for the ARM32 platform. Hence, on Raspberry Pi Zero, Pi A, Pi A+, Pi B, Pi B+ or other ARM32 based machines it is impossible to perform the alignments with PM4PYCVXOPT.

In order to use the CVXOPT package for the alignments, the following instructions can be used. First, the CVXOPT package for ARM64 needs to be installed

sudo apt install python3-cvxopt

Then, the following command can be used to install PM4PYCVXOPT

pip3 install --no-deps pm4pycvxopt