→ Slide 1

Einführung in die Computergrafik und Bildverarbeitung

Wintersemester 2021/22

→ Slide 2
  • Welche Python-IDE soll ich verwenden?
  • apt, pip, conda, virtualeenv, docker - Environments und Paketmanager für Python
  • Bilder laden und modifizieren

Voraussetzungen für Teilnahme am Termin:

  • Python-Quiz in GRIPS erfolgreich beantwortet
  • (optional) Laptop dabei, um einige der gezeigten Dinge mal selbst auszuprobieren
→ Slide 3

(live)

→ 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
↓ 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
  • 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 (deaktivieren durch Beenden der Shell)
  • Viele IDEs unterstützen venv (VS Code, PyCharm)
  • Conda: conda create --name myenv / conda activate myenv
→ Slide 11

siehe Notebook

→ Slide 12
  • Übungsaufgaben und Videos (ab morgen in GRIPS)
  • Peer-Support bei Installationsproblemen
→ Slide 13
  • Besprechung bisheriger Aufgaben
  • Überblick Lernlandkarte / Abhängigkeitsgraph
  • Überblick Studienleistung 1: Bitmap-Grafik

Voraussetzungen für Teilnahme am Termin:

  • Lauffähige lokale Python-Installation und IDE
  • (optional) lokale JupyterLab-Installation
  • Alle Notebooks in GRIPS bearbeitet
  • Feedback vorbereitet: wo gibt es Probleme, welche Hilfestellung wäre gut?
  • (optional) Laptop dabei, um einige der gezeigten Dinge mal selbst auszuprobieren