Informationssysteme Prof. Dr. Jens Dittrich, Prof. Dr. Wolfgang Maaß, Marcel Maltry

Anleitungen

Virtuelle Umgebung für Python

Im folgenden erklären wir kurz, wie ihr eine virtuelle Umgebung für Python einrichtet und die benötigten Python Packages installiert. Wir veröffentlichen regelmäßig eine aktualisierte Liste mit Packages, die für die Übungen benötigt werden. So können wir sicher stellen, dass ihr die gleichen Packages und Versionen verwendet, die wir in der Referenzimplementierung verwenden und eure Systeminstallation von Python unberührt bleibt.

1. Python 3.6.5 installieren

Zunächst muss Python 3.6.5 installiert werden, sofern es noch nicht auf eurem Rechner installiert ist.

UNIX-System:

Ihr könnt entweder einen Installer von der offiziellen Python-Seite laden und ausführen oder Python über euren systemeigenen Paketmanager (z.B. APT, Pacman, Homebrew) installieren.

Testet die Installation von Python 3 und pip3 (Python Packetmanager) kurz, indem ihr in eurem Terminal folgende Befehle eingebt:

$ python3 --version
Python 3.6.5
$ pip3 freeze

Windows:

Ladet den Installer von der offiziellen Python-Seite herunter und führt ihn aus. Wählt Customize installation und setzt bei den Advanced Options einen Haken bei Add Python to environment variables.

Testet die Installation von Python 3 und pip3 (Python Packetmanager) kurz, indem ihr in eurem Terminal folgende Befehle eingebt:

> python --version
Python 3.6.5
> pip3 freeze

Letzterer Befehl listet alle systemseitig installierten Python Packages auf. Solltet ihr Python frisch installiert haben, ist diese List leer. Insbesondere sollten keine Fehlermeldungen auftreten. Achtet darauf, dass das Installationsverzeichnis von Python in eurer PATH Variablen hinterlegt ist. Dies sollte normalerweise automatisch passieren. Sollte auf eurem System bereits Python 2 installiert sein, so stellt sicher, dass ihr im Rahmen der Vorlesung immer python3 und pip3 verwendet.

2. Virtuelle Umgebung installieren und aktivieren

Zunächst installieren wir das Package virtualenv, mit dessen Hilfe virtuelle Umgebungen erzeugt und verwaltet werden können. Diese Schritte sind unter UNIX und Windows identisch. 

$ pip3 install virtualenv
$ pip3 freeze
virtualenv==15.2.0

Anschließend navigiert ihr in den Ordner, in dem ihr den Unterordner mit den Dateien der virtuellen Umgebung ablegen wollt. Hier verwenden wir beispielhaft den Ordner projects.

$ cd ~/projects

Jetzt erstellen wir eine virtuelle Umgebung is18 für Python 3.

$ virtualenv --no-site-packages is18
...
Installing setuptools, pip, wheel...done.

Im Ordner projects/is18 sind jetzt alle Dateien abgelegt, die eure virtuelle Umgebung benötigt. Als nächstes aktivieren wir die Umgebung.

UNIX-System:

$ source is18/bin/activate

Windows:

> is18\Scripts\activate.bat

Solange die virtuelle Umgebung aktiviert ist, verwendet euer Terminal die Python Version und Packages der virtuellen Umgebung und nicht die des Systems. Als einfachen Test könnt ihr euch erneut eine Liste an installierten Packages anzeigen lassen.

$ pip3 freeze

Im Gegensatz zur System-Version von Python sollte diese Liste nun keine Einträge enthalten. Wollt ihr zu eurer System Version zurück, so müsst ihr einfach wie folgt die Umgebung deaktivieren.

$ deactivate

3. Benötigte Packages (requirements) installieren

Im Rahmen der Vorlesung arbeiten wir mit verschiedenen Packages, die zunächst installiert werden müssen. Unter Materialien stellen wir immer eine aktuelle Liste an Packages (requirements.txt) zur Verfügung. Um diese zu installieren aktiviert zunächst eure Umgebung entsprechend eures Betriebssystems (nachfolgend für UNIX).

$ cd ~/projects
$ source is18/bin/activate

Anschließend benötigt ihr die requirements.txt-Datei. Ladet die aktuelle Version herunter und legt diese zunächst in den is18 Ordner. Danach installieren wir alle Pakete der Liste mit pip3.

Einige Packages benötigen unter Windows zusätzlich noch Microsoft Visual C++ Build Tools, das zuerst installiert werden sollte. Achtet darauf bei der Installation die Option Visual C++ Build Tools auszuwählen.

$ cd is18
$ pip3 install -r requirements.txt
...

Nun sollten alle benötigten Packages in der virtuellen Umgebung installiert sein. Sollten für eine Übung neue Packages erforderlich sein, so wird die requirements.txt-Datei aktualisiert und der Prozess von oben muss wiederholt werden.

Verwendet im Rahmen der Vorlesung bitte eine Umgebung in der ausschließlich die Packages aus der requirements.txt-Datei installiert sind, da wir sonst nicht sicherstellen können, dass keine Probleme mit verschiedenen Versionen oder anderen Packages auftreten.

 

Apache Spark

Für das fünfte Notebook benötigen wir Apache Spark. Im Folgenden erklären wir kurz, wie Apache Spark installiert wird. Für einige UNIX-Systeme ist Apach Spark über deren Package-Manager verfügbar. Für Mac OS genügt es beispielsweise "brew install apache-spark" auszuführen. Sollte Apache Spark nicht verfügbar sein, geht wie folgt vor.

1. Java 8 installieren

Falls es nicht bereits installiert ist, installiere zunächst Java 8 (https://docs.oracle.com/javase/8/docs/technotes/guides/install/install_overview.html)

2. Spark herunterladen und entpacken

Gehe auf die Spark Download Page und lade dort spark-2.3.0-bin-hadoop2.7.tgz herunter. Entpacke das Archiv an einen beliebigen Ort:

$ tar -xzf spark-1.2.0-bin-hadoop2.4.tgz

3. Spark verschieben

Verschiebe den entpackten Spark-Ordner an den gewünschten Installationsort. Bei UNIX empfiehlt sich /opt, bei Windows C:\:

$ mv spark-2.3.0-bin-hadoop2.7 /opt/spark-2.3.0

Hier nehmen wir an, dass der Ordner ebenfalls in spark-2.3.0 umbenannt wurde.

4. Umgebungsvariablen setzen

Damit die binaries später gefunden werden, müssen zunächst noch zwei Pfadvariablen gesetzt werden.

UNIX:

Fügt hierzu eurer ~/.bashrc (oder ~/.zshrc) folgende Zeilen hinzu, wobei SPARK_HOME dem Ort entsprechen muss, an den ihr den Spark Ordner verschoben habt.

export SPARK_HOME=/opt/spark-2.3.0
export PATH=$SPARK_HOME/bin:$PATH

Windows:

Zunächst müssen bei Windows noch die winutils für Hadoop installiert werden. Lade hierzu die Datei von Github herunter und verschiebe sie anschließend nach C:\hadoop\bin.

Setze unter Systemeigenschaften die Benutzervariable SPARK_HOME, die Systemvariable HADOOP_HOME und erweitere deine PATH-Variable um den Pfad zu den Spark binaries. Die Variablen sollen folgende Werte haben:

SPARK_HOME: C:\spark-2.3.0 (Benutzervariable)

HADOOP_HOME: C:\hadoop (Systemvariable)

Path: C:\spark-2.3.0\bin (Systemvariable)

Das Ganze sollte dann etwa so aussehen:

5. Installation testen

Ob die Installation erfolgreich war, könnt ihr durch Ausführen der binary spark-shell testen. Es sollten allenfalls Warnungen in eurem Terminal ausgegeben werden.

$ spark-shell
...
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 2.3.0
      /_/

Using Scala version 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_151)
Type in expressions to have them evaluated.
Type :help for more information.

6. Requirements aktualisieren

Aktualisiert eure Python-Requirements. Ladet hierzu die neuste Version aus dem CMS herunter. Insbesondere werden pyspark und findspark installiert.

 

Graphviz

Zur Visualisierung von Entscheidungsbäumen benötigen wir neben dem Graphviz-Package auch die zugehörigen Binaries. Ladet diese entsprechend eures Betriebssystems unter diesem Link herunter und installiert sie. Updatet außerdem eure Requirements, um das Graphviz-Package für Python zu installieren.

 

Docker

Docker ist eine Software zur Isolierung von Anwendungen mit Containervirtualisierung [Quelle]. Wir verwenden im Folgenden Docker um auf relativ einfache Weise die Datenbanksysteme Redis und Neo4j auf verschiedenen System zum Laufen zu bekommen. Ladet zunächst Docker Community Edition entsprechend eures Betriebssystems herunter. Hierzu benötigt ihr einen kostenlosen Docker Account. Sollte euer Betriebssystem nicht aufgelistet sein, sucht Docker über euren Paketmanager.

Startet nach der Installation den Docker deamon. Bei Windows und macOS geht das einfach durch das Ausführen des installierten Docker-Programms. Bei anderen UNIX-Systemen muss der deamon eventuell über service, systemctl oder Ähnliches gestartet werden.

Nun können wir einfach existierende Container beziehen und verwenden. Im Folgenden werden wir auf diese Weise sowohl einen Redis- als auch einen Neo4j-Server starten.

1. Redis

Um einen Redis-Server zu starten öffnet bei laufendem Docker deamon ein neues Terminalfenster und gebt folgenden Befehl ein:

$ docker run --publish=6379:6379 redis
...
* Ready to accept connections

Beim ersten Starten muss der entsprechende Container heruntergeladen werden.

Um sich in Python mit Redis zu verbinden wird zusätzlich das Python-Package redis, das in den aktualisierten requirements enthalten ist benötigt.

2. Neo4j

Um einen Neo4j-Server zu starten öffnet bei laufendem Docker deamon ein neues Terminalfenster und gebt folgenden Befehl ein:

$ docker run --publish=7474:7474 --publish=7687:7687 --env NEO4J_AUTH=none neo4j
...
======== Neo4j 3.4.1 ========
2018-06-27 08:19:55.321+0000 INFO  Starting...
2018-06-27 08:19:57.846+0000 INFO  Bolt enabled on 0.0.0.0:7687.
2018-06-27 08:20:00.088+0000 INFO  Started.
2018-06-27 08:20:00.956+0000 INFO  Remote interface available at http://localhost:7474/

Um sich in Python mit Neo4j zu verbinden wird zusätzlich das Python-Package py2neo, das in den aktualisierten requirements enthalten ist benötigt.

 

LDAP Account (Forum)

Zur Verwendung des Forums wird ein LDAP Account der Informatik benötigt. Mit diesem Account könnt ihr auch andere Dienste der Informatik wie die ownCloud und Gogs nutzen. Für Studierende der Informatikstudiengänge (Informatik, Bioinformatik, Wirtschaftsinformatik, Medieninformatik und Cybersicherheit) wird ein solcher Account automatisch erzeugt. Ihr müsste lediglich euer (euch unbekanntes) Passwort zurücksetzen lassen.

Da euer Account des Forums fest mit dem LDAP verknüpft ist, kann eine nachträgliche Änderung des Nutzernamens dazu führen, dass ihr euch nicht mehr einloggen könnt, bzw. mit eurem LDAP Account einen neuen Account für das Forum anlegen müsst!

Informatikstudiengänge

Wenn ihr bereits Dienste genutzt habt, könnt ihr euch im Forum mit eurem LDAP Account zunächst registrieren und dann einloggen.

Andernfalls müsst ihr zunächst euer Passwort zurücksetzen: LDAP Passwort zurücksetzen. Anschließend könnt ihr das Passwort über folgenden Link noch ändern: LDAP Passwort ändern. Euer Nutzername ist dabei eure s8 -bzw. s9-Kennung. Mit dem Nutzernamen und neuen Passwort könnt ihr euch dann im Forum einloggen.

Andere Studiengänge

Schreibt bis Montag, 16. April 2018 von eurer Uni-Mailadress aus eine Email an marcel.maltry[at]infosys[dot]uni-saarland[dot]de. Wir werden eure Emailadresse dann entsprechend weitergeben und manuell einen LDAP Account für euch anlegen lassen, mit dem ihr euch dann im Forum anmelden könnt.



Datenschutz | Impressum
Bei technischen Problemen wenden Sie sich bitte an die Administratoren