Skip to content

Installation

Tim Büchner edited this page Apr 22, 2024 · 4 revisions

This section describes how to install JeFaPaTo from the source. If you want to use the precompiled binaries, please refer to the main page or download them directly from the release page.

The general installation process is the same for all platforms, and we highly recommend the use of conda to manage the dependencies. Even though conda is not required and venv would be sufficient, it is highly recommended that you use it.

If you decide to use venv, please refer to the venv documentation for further instructions and manually install the dependencies listed in the requirements.txt file and the requirements-dev.txt.

If you have issues with the venv installation, you can find some inspiration in the build_mac-intel_v13.sh script, as we used it to build the binaries for macOS to avoid conflicts with the conda python.

Mac Versions

As the prebuilt version of JeFaPaTo are not signed, your Mac might not open them. To circumvent this issue, please do the following steps (from the official Mac help page):

  1. In the Finder on your Mac, locate the app you want to open.
  2. Don’t use Launchpad to do this. Launchpad doesn’t allow you to access the shortcut menu.
  3. Control-click the app icon, then choose Open from the shortcut menu.
  4. Click Open. (The app is saved as an exception to your security settings, and you can open it in the future by double-clicking it just as you can any registered app.)

Prerequisites

JeFaPaTo utilizes only packages available through the python package index (PyPI). We did our best to enforce the correct versioning of the dependencies, but we cannot guarantee that the installation will work with newer versions of the packages. Also, for sending notifications via plyer, some systems need further dependencies, but we hope to get them all. Please refer to the plyer documentation for further instructions if you encounter any issues, and please let us know via the issue tracker.

If your dbus is not configured correctly, you might have to install the following packages:

sudo apt install build-essential libdbus-glib-1-dev libgirepository1.0-dev

We currently use Python 3.10 to develop JeFaPaTo, and older versions are not recommended as make high usage of the new typing features. We recommend using Python 3.10 or newer, but we cannot guarantee that it will work with older versions.

Local installation - Conda

The installation, without using our precompiled binaries, is the same for all platforms. We assume that you have conda installed and configured. If not, please refer to the conda documentation for further instructions.

You can either run the dev_init.sh script or follow the instructions below.

bash dev_init.sh

or manually:

# Clone the repository
git clone https://github.com/cvjena/JeFaPaTo.git
cd JeFaPaTo
conda create -n jefapato python=3.10 pip -y
conda activate jefapato
# not 100% necessary but recommended if you want to build the binaries
conda install libpython-static -y

# Install the dependencies, including the development dependencies
python -m pip install -r requirements-dev.txt
python -m pip install -e .

Local installation - Venv

We assume you have Python set up and running on your system (Windows, Linux, or macOS). The following steps should be the same for all of them:

python3 -m venv jefapato

Then activate it Windows:

# In cmd.exe
jefapato\Scripts\activate.bat
# In PowerShell
jefapato\Scripts\Activate.ps1

Linux and MacOS

source jefapato/bin/activate

Lastly, install all requirements:

pip install -r requirements.txt

Running JeFaPaTo

After the installation, you can run JeFaPaTo with the following command:

# assuming you activated the conda environment or virtual environment:^)
python main.py

The GUI should open, intermediate information should be visible in the terminal, and you can start using JeFaPaTo. We recommend following the tutorials in the Wiki to get a good overview of the functionalities.

Building the binaries

This section describes how to build the binaries for the different platforms. We recommend using the precompiled binaries, but if you want to build them yourself, you can follow the instructions below. please note that we do not guarantee that the binaries will work on your system.

The binaries are built with pyinstaller, and each platform has its own script to build the binaries. The scripts are fully automated but not yet hooked into the CI/CD pipeline. Hence, we currently build the binaries manually and upload them to the release page. If you want to build the binaries yourself, you can use the following scripts:

Windows 11 (x64)

This script has to be executed in a Windows 11 machine.

.\build_windows-11.bat

macOS v13+ (x64)

This script has to be executed in a macOS v13+ machine, and the universal version is only supported on Apple Silicon. The Intel version is only supported on Intel machines and Apple Silicon machines with Rosetta 2 installed.

# for Apple Silicon and Intel
./build_mac-universal2_v13.sh
# for Intel only
./build_mac-intel_v13.sh

macOS v10

This version is only supported on the branch intel_macosx10_mediapipe_v0.9.0 and is only kept alive to support older macOS versions. We highly recommend using the latest version of macOS.

./build_mac-intel_v10.sh

Linux (x64)

This script has to be executed in a Linux machine, in our case Ubuntu 22.04.

./build_linux.sh