Externe Bibliotheken einbinden, ohne den nächsten Sicherheitsalbtraum auszulösen.
Grundlagen 13 min Einsteiger 26. April 2026
Du hast Variablen, Schleifen, Funktionen gelernt — du kannst Python schreiben. Aber hier ist das Geheimnis professioneller Entwicklung: Die meisten echten Projekte bestehen zu 10% aus eigenem Code und zu 90% aus Bibliotheken, die andere bereits gebaut haben.
Dieser Artikel zeigt dir die drei Schichten von Pythons Code-Universum: was bereits eingebaut ist, wie du fehlendes hinzufügst, und warum dieses Ökosystem Python zur dominierenden KI-Sprache gemacht hat.
Standard Library & Imports
Modul und Package
AnalogieDefinition
Wenn du in eine neue Wohnung einziehst, liegt ein Werkzeugkasten schon im Schrank — Hammer, Schraubenzieher, Maßband. Du kannst sofort Bilder aufhängen und Möbel zusammenbauen, ohne in den Baumarkt zu fahren. Pythons Standard Library ist dieser Werkzeugkasten: math ist das Maßband, json der Schraubenzieher-Satz, os die Taschenlampe zum Erkunden des Gebäudes.
Analogie:
Wenn du in eine neue Wohnung einziehst, liegt ein Werkzeugkasten schon im Schrank — Hammer, Schraubenzieher, Maßband. Du kannst sofort Bilder aufhängen und Möbel zusammenbauen, ohne in den Baumarkt zu fahren. Pythons Standard Library ist dieser Werkzeugkasten: math ist das Maßband, json der Schraubenzieher-Satz, os die Taschenlampe zum Erkunden des Gebäudes.
Definition:
Python liefert über 200 Module mit ("batteries included"). Ein Modul ist eine einzelne .py-Datei, ein Package ein Verzeichnis aus mehreren Modulen. Die import-Anweisung macht ein lokal verfügbares Modul in deinem Code zugänglich. Es gibt drei Import-Stile — import math, from random import randint, import json as j — jeweils mit unterschiedlichen Auswirkungen auf den Namensraum.
Ein echter Werkzeugkasten hat physische Grenzen. Pythons Standard Library wächst mit jeder Version und enthält spezialisierte Module (sqlite3, email, tkinter), die weit über "Basics" hinausgehen. Außerdem erfordert ein Werkzeugkasten keine Wahl, wie du ein Werkzeug herausholst — Pythons drei Import-Formen beeinflussen das Namespace-Verhalten.
import math
Volles Modul geladen. Zugriff über math.sqrt(144). Der Name math dient als Namensraum — kein Namenskonflikt mit eigenen Variablen.
from random import randint
Nur randint geladen. Direkter Aufruf: randint(1, 6). Kürzer, aber bei vielen Imports kann der Überblick verloren gehen.
Drei Import-Stile
import math
print(math.sqrt(144)) # 12.0
from random import randint
print(randint(1, 6)) # z.B. 4
import json
print(json.dumps({"name": "Ada"})) # '{"name": "Ada"}'
Alle drei Module sind ohne Installation verfügbar — sie gehören zur Standard Library. Du brauchst nur die passende import-Zeile.
Irrtum: import lädt Code aus dem Internet
import lädt nur Module, die bereits auf deinem Computer vorhanden sind — entweder aus der Standard Library oder aus vorher per pip installierten Paketen. import kontaktiert niemals das Internet. Das Herunterladen ist ein separater Schritt mit pip.
Deep Dive: Wie Pythons Import-Mechanismus funktioniert
Wenn Python import math ausführt, durchsucht es eine Liste von Verzeichnissen in sys.path. Diese Liste enthält: das aktuelle Verzeichnis, die Standard-Library-Pfade und das site-packages-Verzeichnis (wo pip installiert).
Beim ersten Import kompiliert Python das Modul in Bytecode und speichert ihn im Ordner __pycache__. Bei späteren Imports wird der Cache verwendet — das beschleunigt den Start.
pip & PyPI — Der App Store für Python
pip und PyPI
AnalogieDefinition
PyPI ist wie ein App Store: Du suchst nach Funktionalität, tippst einen Installationsbefehl, und es ist einsatzbereit. Aber anders als Handy-Apps, die in isolierten Sandboxes laufen, teilen sich Python-Pakete dasselbe Installationsverzeichnis. Wenn Projekt A LibX Version 2 braucht und Projekt B LibX Version 3, kollidieren sie — wie zwei Apps, die um dieselbe Datei kämpfen.
Analogie:
PyPI ist wie ein App Store: Du suchst nach Funktionalität, tippst einen Installationsbefehl, und es ist einsatzbereit. Aber anders als Handy-Apps, die in isolierten Sandboxes laufen, teilen sich Python-Pakete dasselbe Installationsverzeichnis. Wenn Projekt A LibX Version 2 braucht und Projekt B LibX Version 3, kollidieren sie — wie zwei Apps, die um dieselbe Datei kämpfen.
Definition:
Der Python Package Index (PyPI) hostet über 750.000 Projekte. pip ist der Standard-Installer, der Pakete von PyPI herunterlädt. Kernbefehle: pip install paket, pip install paket==1.2.3, pip list, pip uninstall paket. Eine requirements.txt-Datei listet alle Projekt-Abhängigkeiten für Reproduzierbarkeit auf. Abhängigkeiten sind transitiv: pandas installiert automatisch auch numpy.
Ein App Store wird von einem Unternehmen kuratiert und geprüft. PyPI ist offen — jeder kann hochladen. Es gibt keine verpflichtende Qualitätskontrolle, deshalb muss man lernen, Pakete selbst zu bewerten (Download-Zahlen, Wartungsaktivität, Dokumentation).
Der pip-Workflow: Installieren → Importieren → Verwenden
1
pip install requests — Paket von PyPI herunterladen und installieren
2
import requests — Das installierte Paket in deinem Code verfügbar machen
3
requests.get(url).status_code — Das Paket verwenden (hier: HTTP-Anfrage senden)
Professionelle Projekte listen alle benötigten Pakete in einer requirements.txt-Datei auf:
requests==2.31.0
pandas>=2.0.0
numpy>=1.24.0
Ein einziger Befehl — pip install -r requirements.txt — installiert alle Abhängigkeiten. Und Abhängigkeiten sind transitiv: Wenn du pandas installierst, kommt numpy automatisch mit, weil pandas es intern braucht.
import und pip install sind strikt getrennte Operationen. Der Import-Mechanismus durchsucht nur lokale Verzeichnisse (Standard Library + site-packages) — er kontaktiert niemals PyPI. Ohne vorherige Installation mit pip bekommst du einen ModuleNotFoundError.
Deep Dive: Pakete bewerten — Qualitätssignale
Auf PyPI kann jeder Pakete hochladen. Bevor du ein unbekanntes Paket installierst, prüfe diese Signale:
Download-Zahlen (populäre Pakete sind besser getestet), letztes Update (aufgegebene Projekte sind riskant), Dokumentationsqualität (gute Docs = aktive Wartung), GitHub-Stars und Issues (Community-Engagement), und Sicherheits-Audits (bei sensiblen Anwendungen). Die Regel: Je mehr Leute ein Paket verwenden, desto wahrscheinlicher werden Fehler schnell gefunden und behoben.
Das Ökosystem — Warum Python die KI-Sprache wurde
Pythons Drei-Schichten-Modell
Externe Pakete (PyPI) 750.000+ Pakete aus der Community
Standard Library 200+ Module, die Python mitliefert
Dein Code Die Logik, die du selbst schreibst
Jedes Paket ist wie ein spezialisierter LEGO-Stein, gefertigt von Experten. Du baust daraus eigene Kreationen zusammen, ohne wissen zu müssen, wie Plastik gegossen wird — genauso wie du eine ML-Pipeline baust, ohne C-Code für Matrixmultiplikation zu schreiben.
Aber LEGO-Steine passen immer zusammen (genormte Noppen). Python-Pakete können Versionskonflikte und inkompatible Abhängigkeiten haben. Und LEGO wird von einem Unternehmen kuratiert, während PyPI ein offener Basar ist — von industrie-reifen Bibliotheken bis zu aufgegebenen Hobbyprojekten.
NumPy Arrays und lineare Algebra in C/Fortran
pandas DataFrames für Datenanalyse
scikit-learn Klassisches Machine Learning
PyTorch Deep Learning mit GPU-Beschleunigung
Django Web-Framework für komplexe Anwendungen
requests HTTP-Anfragen einfach gemacht
Python als Klebesprache
Python ist als Interpreter relativ langsam. Aber seine Stärke liegt nicht in Geschwindigkeit, sondern in der Rolle als "Klebesprache": Python liefert die benutzerfreundliche Oberfläche, während die schwere Berechnung in kompiliertem C/C++ oder CUDA darunter läuft.
import pandas as pd
df = pd.read_csv("data.csv")
print(df.describe()) # Statistische Zusammenfassung
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X, y) # ML-Modell in einer Zeile
Hinter diesen wenigen Python-Zeilen stecken Tausende Zeilen optimierter C/Fortran-Code. Python gibt die Befehle — die eigentliche Berechnung passiert in kompiliertem Code.
Irrtum: Python ist zu langsam für KI
Python selbst ist langsam für reine Schleifen. Aber KI-Aufgaben laufen in C/C++/CUDA hinter Bibliotheksaufrufen. Python ist das Lenkrad, nicht der Motor. Die eigentlichen Matrixmultiplikationen, Gradientenberechnungen und Datentransformationen passieren in kompiliertem Code — Python orchestriert sie nur.
Interaktiv: Package-Manager Checkliste
Beantworte die folgenden Fragen zu deinem Python-Projekt. Am Ende erhältst du eine Empfehlung, welches Werkzeug für die Paketverwaltung am besten zu deiner Situation passt.
Package-Manager Checkliste
Finde heraus, welches Werkzeug für die Paketverwaltung am besten zu deinem Python-Projekt passt.
1.Arbeitest du an mehreren Python-Projekten gleichzeitig?
Verschiedene Projekte brauchen oft verschiedene Paketversionen — Isolation verhindert Konflikte.
z.B. Projekt A braucht Python 3.10, Projekt B braucht Python 3.12.
3.Müssen andere Entwickler dein Projekt reproduzierbar aufsetzen können?
Team-Arbeit, CI/CD und Deployment erfordern festgehaltene Abhängigkeiten.
4.Installierst du Pakete aus anderen Quellen als PyPI (z.B. Conda-Forge)?
Manche wissenschaftliche Pakete (z.B. CUDA-Toolkit, MKL) sind über Conda einfacher zu installieren.
5.Entwickelst du eine eigene Library, die andere per pip installieren sollen?
Library-Entwicklung braucht Build-Tools und Metadaten (pyproject.toml).
6.Brauchst du automatisches Dependency-Locking (exakte Versionen aller transitiven Abhängigkeiten)?
Lock-Dateien garantieren, dass auf jedem Rechner exakt dieselben Versionen installiert werden.
0 / 6 beantwortet
Das Wichtigste auf einen Blick
Pythons Standard Library deckt Alltagsaufgaben ab (Mathematik, JSON, Dateien, Datum) — prüfe immer erst die "batteries included", bevor du extern installierst.
pip install lädt von PyPI herunter; import lädt, was bereits lokal installiert ist — das sind strikt getrennte Schritte.
Python dominiert KI nicht wegen Geschwindigkeit, sondern weil sein Ökosystem hochperformanten C/C++-Code hinter einer sauberen, anfängerfreundlichen API verpackt.
Quiz: Packages und Imports
Frage 1 / 4
Noch offen
Was ist der Unterschied zwischen import und pip install?
1. Was ist der Unterschied zwischen import und pip install?
☐ A) Beides lädt Pakete aus dem Internet
☐ B) import lädt aus dem Internet, pip install von der Festplatte
☐ C) pip install lädt von PyPI herunter, import macht ein lokales Modul im Code verfügbar
☐ D) Es gibt keinen Unterschied
2. Du schreibst import pandas in einer frischen Python-Installation. Was passiert?
☐ A) pandas wird automatisch installiert
☐ B) ModuleNotFoundError
☐ C) Python sucht im Internet
☐ D) SyntaxError
3. Ein Projekt hat eine requirements.txt mit pandas>=2.0.0 und numpy>=1.24.0. Welcher Befehl installiert alle Abhängigkeiten?
☐ A) import -r requirements.txt
☐ B) pip install pandas numpy
☐ C) pip install -r requirements.txt
☐ D) python requirements.txt
4. Python ist als Interpreter langsamer als C. Warum dominiert es trotzdem in der KI-Entwicklung?
☐ A) Python-Schleifen sind schneller als C-Schleifen
☐ B) KI braucht keine Geschwindigkeit
☐ C) Python orchestriert hochoptimierten C/C++/CUDA-Code hinter einfachen API-Aufrufen
☐ D) Python wird vor der Ausführung in C kompiliert
Auflösung: 1) C · 2) B · 3) C · 4) C
Checkpoint
Du führst import requests in einer frischen Python-Installation aus und bekommst einen ModuleNotFoundError. Warum? Was musst du zuerst tun?
Ein Kollege schickt dir ein Projekt mit einer requirements.txt. Du klonst es und führst das Skript aus — es crasht mit ModuleNotFoundError für pandas. Welcher Befehl löst das Problem?
NumPy multipliziert Matrizen schneller als eine reine Python-Schleife. Erkläre warum, obwohl beides auf derselben CPU läuft.