→ Slide 1

Übung zum Seminar "Mensch und Bot"

Dr. Raphael Wimmer

Sommersemester 2025

→ Slide 2
  • Umgebungsvariablen und Pfade
  • Welche Python-IDE soll ich verwenden?
  • apt, pip, conda, virtualeenv (, docker) - Environments und Paketmanager für Python
  • uv - die eierlegende Wollmilchsau
  • Grundkonzepte Python
→ Slide 3
  • Umgebungsvariablen: Key-Value-Paare, die vom OS innerhalb einer Shell den Programmen zur Verfügung gestellt werden.
  • Anzeigen/setzen mit export (Linux) bzw. SET (Windows)
  • PATH-Umgebungsvariable: wo liegen die ausführbaren Dateien
  • Reihenfolge relevant - das erstbeste Executable mit passendem Namen wird genommen.
  • (auch später relevant: PYTHONPATH)
→ Slide 4
→ Slide 5
→ Slide 6

Es gibt drei verbreitete Möglichkeiten, Python-Module zu installieren:

  • Paketmanagement des Betriebssystems (z.B. apt unter Debian/Ubuntu Linux)
  • pip - Pythons Paketmanager
  • conda - Paketmanagement der Anaconda-Distribution

Um für jede Anwendung separate Module zu installieren: virtual environments

↓ Slide 7
  • Primär bei Linux-Distributionen, z.B. Debian/Ubuntu
  • apt install python3-matplotlib
  • Vorteile: global verfügbar, sicher, vorkompilierte Binaries
  • Nachteile: nicht immer aktuell, nicht alle Python-Pakete verfügbar, immer nur eine Paketversion installierbar
↓ Slide 8
  • Pakete werden aus dem Python Package Index (PyPI) installiert (PyPI enthält quasi alle Pakete)
  • pip3 install matplotlib
  • pip3 install -r requirements.txt: Textdatei mit Paketnamen und ggf. Versionen.
  • Vorteile: global oder (default) lokal installierbar, immer aktuellste Version, quasi alle Pakete verfügbar.
  • Nachteile: nicht zwingend robust/sicher, Kompilierungsschritt bei C-Erweiterungen notwendig
  • Tool pipx: installiert Python-Programme in einer eigenen virtuellen Umgebung und fügt sie zum Pfad hinzu (Repo / Anleitung)
↓ Slide 9
  • Anaconda: Python-Distribution für Scientific Computing (multi-platform)
  • Minimale Distribution: miniconda
  • conda: package manager für Anaconda (Intro)
  • pip und conda können parallel eingesetzt werden (1, 2)
  • Alternative: Mamba
  • Vorteile: sicher, robust, vorkompilierte Binaries, integrierte Unterstützung von virtual environments
  • Nachteile: nicht immer aktuell, wenige Python-Pakete verfügbar, fügt Overhead (Ressourcen, Debugging) hinzu
↓ Slide 10
  • Grundidee: für jedes Projekt eine eigene Python-Installation (Doku)
  • Funktionsweise: Überschreiben der Pfade zu Binaries, Bibliotheken in der aktuellen Shell
  • Virtualenv im Unterverzeichnis .env anlegen: python3 -m venv .env
  • Virtualenv aktivieren: source .env/bin/activate (Linux) / .env\Scripts\activate.bat
  • deaktivieren durch Beenden der Shell
  • Viele IDEs unterstützen venv (VS Code, PyCharm)
  • Conda: conda create --name myenv / conda activate myenv
↓ Slide 11
  • Tool für gängiges Python-Projektmanagement (Doku
  • sehr schnell (Rust, Caching)
  • Wrapper für viele gängige Aktionen:
    • uv python install <Version> - installiert Python
    • uv init <Projektname> - erzeugt Projektverzeichnis, initialisiert venv und Git.
    • uv add <Package> - fügt Paket zu Projekt hinzu
    • uv run <script.py> - führt Script in aktuellem venv aus
    • uv pip <...> / uv venv <...> - wrappt pip/venv
→ Slide 12
↓ Slide 13
  • Eure Aufgaben:
    • Code zum Laufen bringen
    • Etwas an den Antworten ändern
    • Ausgeben, was unter der Haube passiert (optional)
↓ Slide 14
  • Eure Aufgabe: schreibt einen eigenen Chatbot mit einer Heuristik
  • notwendig: loops, ´input()/rawinput()´, evtl. regex oder String-Operationen
  • Anforderungen: reagiert auf bestimmte Schlüsselwörter