We are moving to GitLab

After many years of using Bazaar and, sadly they are being abandoned by their creators, and so to ensure the longevity of OpenLP, we have decided to move to GitLab.

Keep up to date with the status of our move by checking the Moving_to_GitLab page.

Development:Linux Development Environment

From OpenLP
Revision as of 22:51, 31 October 2018 by Bgermann (Talk | contribs)

Jump to: navigation, search

This page is outdated and needs to be updated

Installing on Debian/Ubuntu

Debian logo.pngUbuntu logo.png

Required Versions

In order to develop or test OpenLP on Debian or Ubuntu, you will need to have the following versions installed:

Debian: You need to be running "unstable" ("sid")

Ubuntu: Minimum version is 16.04


First make sure your packaging system is up-to-date:

$ sudo apt update

Then, run this command to install all required packages:

$ sudo apt install python3 qttools5-dev-tools pyqt5-dev-tools python3-pyqt5 python3-pyqt5.qtmultimedia \
                   python3-pyqt5.qtsvg python3-pyqt5.qtopengl python3-pyqt5.qtwebchannel python3-pyqt5.qtwebkit \
                   python3-pyqt5.qtwebengine python3-sqlalchemy python3-chardet python3-lxml \
                   python3-enchant python3-bs4 python3-mako python3-uno python3-nose2 python3-nose2-cov \
                   python3-pip python3-alembic python3-xdg python3-dbus.mainloop.pyqt5 python3-pep8 \
                   python3-websockets python3-waitress python3-webob python3-requests bzr mediainfo \
                   pylint3 python3-qtawesome python3-opengl python3-appdirs

Installing on Fedora

Install Dependencies

Install the dependencies using pkcon:

$ pkcon install python3-PyQt5 python3-sqlalchemy python3-alembic python3-beautifulsoup4 python3-chardet python3-enchant python3-lxml python3-xdg python3-nose python3-websockets

Install PyUno

PyUno offers integration with LibreOffice

$ pkcon install libreoffice-pyuno

Installing on openSUSE

This presumes you are running openSUSE Leap 42.1.

Before you can install the dependencies, however, you will need to enable the Python development repository.

 $ sudo zypper --gpg-auto-import-keys ar -f

Install Dependencies

Install the dependencies using zypper:

$ sudo zypper install python3-qt5 python3-devel python3-beautifulsoup4 python3-chardet python3-pyenchant python3-lxml python3-Mako python3-SQLAlchemy python3-alembic python3-xdg python3-nose

Install PyUno

PyUno offers integration with LibreOffice

$ sudo zypper install libreoffice-pyuno

Installing on PCLinuxOS

PCLinuxOS is a fork of Mandriva, which uses RPM packages and the Advanced Packaging Tool to manage them. Unfortunately PCLinuxOS does not package all of the dependencies for OpenLP, but this is not a problem as the remaining dependencies are easily installable.


Run these commands to install all required packages:

[user@localhost ~]$ su
[root@localhost ~]# apt-get install qt4-designer qt4-linguist qt4-doc python-qt4 python-qt4-devel python-qt4-phonon
                                    python-qt4-gl python-qt4-webkit python-sqlalchemy python-lxml python-chardet
                                    python-mako python-beautifulsoup python-enchant

Now use easy_install to install SQLAlchemy Migrate:

[root@localhost ~]# easy_install sqlalchemy-migrate

Installing on Gentoo

Work-in-progress notes for this on Development:Linux Development Environment/Gentoo

Installing on Arch Linux

[root@localhost ~]# pacman -S python python-pyqt5 phonon python-chardet python-lxml python-beautifulsoup4 python-pyenchant python-mako python-appdirs python-sqlalchemy python-pyodbc python-alembic python-pytest

Some packages have to be installed using pip or from AUR:

 [user@localhost ~]$ yaourt -S python-websockets


There is a Docker dev environment that is based on Debian 9. Be sure to mount your repository inside the container from your host environment, otherwise you will lose your changes when the container exits.

Be aware that this container's localization settings are for the US.

To use the container, run the following:

 [user@localhost ~]$ docker run -i --rm -v $(pwd):/usr/src/project \
                                -e LOCAL_USER_ID=$(id -u ${USER}) \
                                -e DISPLAY=${DISPLAY} \
                                -v /tmp/.X11-unix:/tmp/.X11-unix \
                                -v /run/dbus/:/run/dbus/ \
                                -v /dev/shm:/dev/shm \
                                -t gtalent/openlp-devenv bash