Development:Linux Development Environment

From OpenLP
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.qtwebkit python3-pyqt5.qtopengl python3-sqlalchemy \
                   python3-chardet python3-lxml python3-enchant python3-bs4 python3-mako python3-uno \
                   python3-nose python3-pip python3-alembic python3-xdg python3-dbus.mainloop.pyqt \

If you're on Debian unstable, you can also install the following packages for WebEngine support:

$ sudo apt install python3-pyqt5.qtwebchannel python3-pyqt5.qtwebengine

If you want to run the tests on trunk, you'll need the python3-nose2 package:

$ sudo apt install python3-nose2

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

Install PyUno

PyUno offers integration with LibreOffice

$ pkcon install libreoffice-pyuno

Install Mock

Mock is used for testing

$ pkcon install 

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-pyqt4 phonon python-chardet python-lxml python-beautifulsoup4 python-pyenchant python-mako python-xdg python-nose python-sqlalchemy

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

 [user@localhost ~]$ yaourt -S python-pyicu python-pyodbc python-alembic python-mock


There is a Docker dev environment that is based on Debian 8. 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