diff --git a/.vscode/ltex.hiddenFalsePositives.de-DE.txt b/.vscode/ltex.hiddenFalsePositives.de-DE.txt
index 1f595e3dc6bc3ecbcb605c7c58c4c29e52a74bba..5976738ff14205d59d5aa9107e300b6b84f29274 100644
--- a/.vscode/ltex.hiddenFalsePositives.de-DE.txt
+++ b/.vscode/ltex.hiddenFalsePositives.de-DE.txt
@@ -1,3 +1,8 @@
 {"rule":"DE_CASE","sentence":"^\\QJan Wille 1535115 Praxisphasen Bericht [Klarschrifterkennung auf Containern]Automatisierte Erkennung von Klarschrift auf unterschiedlichen Containertypen Prof. Dr.-Ing. Hanno Homann\\E$"}
 {"rule":"GERMAN_SPELLER_RULE","sentence":"^\\QFür die Aufgabe relevante Hardware laut Pflichtenheft (\\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q) 01 SIMATIC MV440 UR optischer Leser; Auflösung: 1600 x 1200 Pixel; für 1D/2D-Codelesen, Texterkennung und Objekterkennung; Bildfeld und Abstand: variabel; PoE; IP67 (mit 6GF3440-8AC1X); Lieferung: Lesegerät, CD-ROM und Kunststoff-Schutz-Tubus; (ohne: Kabel, Leuchte, Objektiv, Lizenzen) 02 MV440 Montageplatte Lesegerät; Material: Edelstahl (4 mm), vielfältig anwendbar, Befestigung: metrische Gewinde, Fotogewinde (1/4-Zoll, 2x mittig) BxHxT (mm) 80 x 80 x 60 03 Mini-Objektiv 6 mm, 1: 1,4 PENTAX C60636KP mit fester Brennweite, Blende und Fokus einstellbar D = 32 mm, L = 37,5 mm 04 D65-Objektiv-Schutz Metall-Glas, Schutzart IP67 für MV440-Geräte; Frontscheibe: Glas, Gehäuse: Metall enthält: Tubus, O-Ring und Schutzkappen (M12, M12, M16), Innen-Durchmesser: 57 mm max. Objektivlänge: 57 mm geeignete Objektive (MLFB): z.B. 6GF9001-1BL01,...-1BF01, ...-1BG01,...-1BH01,...-1BJ01 geeignete Leuchten (MLFB): 6GF3440-8DA1,...-8DA2,...-8DA11 BxHxT (mm) 65 x 65 x 60 10 SIMATIC IPC277E (Nanopanel PC); 7” Touch TFT; 2x 10/100/1000 MBit/s Ethernet RJ45; 1x Display-Port Grafik; 1x USB 3.0; 2x USB 2.0; 1x seriell (COM 1); CFAST-Slot; DC 24V Stromversorgung Celeron N2807 (2C/2T) 4 GB RAM WIN Embedded Standard 7 P SP1, englisch; 64 Bit 80 GB SSD ohne SIMATIC Software\\E$"}
 {"rule":"FALSCHES_ANFUEHRUNGSZEICHEN","sentence":"^\\QFür die Aufgabe relevante Hardware laut Pflichtenheft (\\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q) 01 SIMATIC MV440 UR optischer Leser; Auflösung: 1600 x 1200 Pixel; für 1D/2D-Codelesen, Texterkennung und Objekterkennung; Bildfeld und Abstand: variabel; PoE; IP67 (mit 6GF3440-8AC1X); Lieferung: Lesegerät, CD-ROM und Kunststoff-Schutz-Tubus; (ohne: Kabel, Leuchte, Objektiv, Lizenzen) 02 MV440 Montageplatte Lesegerät; Material: Edelstahl (4 mm), vielfältig anwendbar, Befestigung: metrische Gewinde, Fotogewinde (1/4-Zoll, 2x mittig) BxHxT (mm) 80 x 80 x 60 03 Mini-Objektiv 6 mm, 1: 1,4 PENTAX C60636KP mit fester Brennweite, Blende und Fokus einstellbar D = 32 mm, L = 37,5 mm 04 D65-Objektiv-Schutz Metall-Glas, Schutzart IP67 für MV440-Geräte; Frontscheibe: Glas, Gehäuse: Metall enthält: Tubus, O-Ring und Schutzkappen (M12, M12, M16), Innen-Durchmesser: 57 mm max. Objektivlänge: 57 mm geeignete Objektive (MLFB): z.B. 6GF9001-1BL01,...-1BF01, ...-1BG01,...-1BH01,...-1BJ01 geeignete Leuchten (MLFB): 6GF3440-8DA1,...-8DA2,...-8DA11 BxHxT (mm) 65 x 65 x 60 10 SIMATIC IPC277E (Nanopanel PC); 7” Touch TFT; 2x 10/100/1000 MBit/s Ethernet RJ45; 1x Display-Port Grafik; 1x USB 3.0; 2x USB 2.0; 1x seriell (COM 1); CFAST-Slot; DC 24V Stromversorgung Celeron N2807 (2C/2T) 4 GB RAM WIN Embedded Standard 7 P SP1, englisch; 64 Bit 80 GB SSD ohne SIMATIC Software\\E$"}
+{"rule":"GERMAN_SPELLER_RULE","sentence":"^\\QDazu werden die folgenden Befehle oder das Makefilerezept setup verwendet.\\E$"}
+{"rule":"GERMAN_SPELLER_RULE","sentence":"^\\QDer Quellcode des Projektes befindet sich im Unterordner ./src.\\E$"}
+{"rule":"GERMAN_SPELLER_RULE","sentence":"^\\QDort befindet sich die Datei __main__.py als Haupteinstiegspunktes des Programms sowie alle weiten selbsterstellten Pakete.\\E$"}
+{"rule":"GERMAN_SPELLER_RULE","sentence":"^\\QDas Programm wird also mittels python src/__main__.py gestartet (ein Beispiel ist im Makefilerezept run gezeigt).\\E$"}
+{"rule":"UPPERCASE_SENTENCE_START","sentence":"^\\Qlanguage=Python\\E$"}
diff --git a/Praxisbericht.pdf b/Praxisbericht.pdf
index 3ea9b5f69b5effe68f46b7a68f0fe9cae791aa95..4e586c26b9dab31fe879eccf7a567595336584c8 100644
Binary files a/Praxisbericht.pdf and b/Praxisbericht.pdf differ
diff --git a/Praxisbericht.tex b/Praxisbericht.tex
index 5e0d232b9d878a700be8922b526f1a6e08d85508..3182fe8664e66c2b972e6c4b1da69aa67dc1e058 100644
--- a/Praxisbericht.tex
+++ b/Praxisbericht.tex
@@ -11,6 +11,7 @@
 
 
 \addbibresource{bib/localBibliography.bib}
+\lstset{language=Python}
 
 %% projects specific data:
 \author{Jan Wille}
@@ -112,6 +113,24 @@
 
 		Das Softwaremodul zur Schrifterkennung wird in Python umgesetzt. Das folgende Kapitel dient zur Dokumentation des Codes.
 
+		Um das Projekt zum ersten Mal auf einen neuen Computer zu benutzen, müssen die in der Datei \lstinline{requirements.txt} aufgelisteten Pakete
+		installiert werden. Hierzu wird das Anlegen eines sogenannten \emph{Virtual Enviroments} empfohlen. Dadurch werden die Pakete nicht für den
+		gesamten Computer installier, sondern in einem Unterordner dieses Projektes abgelegt und nur diesem Projekt zur Verfügung gestellt. Dazu
+		werden die folgenden Befehle oder das Makefilerezept \lstinline{setup} verwendet.
+
+		\begin{lstlisting}[language=bash,gobble=12]
+			# virual env erstellen:
+			python -m venv .venv
+			# venv für diese Terminal-Session aktiviren (windows):
+			call .venv\Scripts\activate
+			# pakete installieren:
+			pip install -r requirements.txt
+		\end{lstlisting}
+
+		Der Quellcode des Projektes befindet sich im Unterordner \lstinline{./src}. Dort befindet sich die Datei \lstinline{__main__.py} als
+		Haupteinstiegspunktes des Programms sowie alle weiten selbsterstellten Pakete. Das Programm wird also mittels
+		\lstinline{python src/__main__.py} gestartet (ein Beispiel ist im Makefilerezept \lstinline{run} gezeigt).
+
 		\section{Schnittstelle} \label{sec: interface}
 
 		\section{Vorgehen bei der Erkennung}