python — Der Python-Interpreter auf der Kommandozeile

Praxis-Guide zum python-CLI: Skripte und REPL, Module per -m, virtuelle Umgebungen anlegen und die Python-Laufzeit konfigurieren.

Das Kommando python ist dein Einstieg in den Python-Interpreter: Du führst eine Skriptdatei aus, springst für schnelle Experimente in die interaktive REPL oder gibst mit -c einen Einzeiler direkt an den Interpreter weiter. Die eigentliche Stärke liegt im -m-Flag, mit dem du jedes installierte Modul wie ein Programm startest – vom schnellen HTTP-Server (http.server) über das Anlegen einer virtuellen Umgebung (venv) bis zum Aufruf von pip. Dieser Guide bündelt die Flags und Module, die du im Alltag wirklich brauchst – ob beim Skripten, Debuggen, Profilen oder einfach beim Ausprobieren.

Skripte ausführen

python <script> — Führt ein Python-Skript aus.

python app.py

python <script> <args> — Führt ein Skript mit Kommandozeilen-Argumenten aus.

python convert.py --input data.csv --output result.json

python -c '<code>' — Führt einen Python-Ausdruck direkt aus.

python -c 'import json; print(json.dumps({"key": "value"}, indent=2))'

python -m <module> — Startet ein Modul als Skript.

python -m http.server 8080

python -i <script> — Führt das Skript aus und wechselt danach in den interaktiven Modus (zum Debuggen).

python -i setup.py

Interaktiv & REPL

python — Startet die interaktive Python-REPL.

python

python -q — Startet die REPL im stillen Modus (ohne Versions-Banner).

python -q

python -m asyncio — Startet eine async-fähige REPL (unterstützt await).

python -m asyncio

Debugging & Profiling

python -m pdb <script> — Führt das Skript mit dem Python-Debugger aus.

python -m pdb app.py

python -m cProfile <script> — Profiliert ein Skript (Laufzeit je Funktion).

python -m cProfile -s cumtime app.py

python -m timeit '<code>' — Misst die Laufzeit eines Code-Schnipsels (Benchmark).

python -m timeit 'sum(range(1000))'

python -m trace --trace <script> — Verfolgt die Ausführung jeder einzelnen Zeile.

python -m trace --trace app.py

python -W all <script> — Zeigt alle Warnungen an.

python -W all app.py

python -X tracemalloc <script> — Aktiviert das Verfolgen von Speicher-Allokationen.

python -X tracemalloc app.py

Nützliche Module

python -m http.server <port> — Startet einen einfachen HTTP-Dateiserver.

python -m http.server 8000

python -m json.tool <file> — Gibt JSON aus einer Datei oder von stdin formatiert aus.

echo '{"a":1}' | python -m json.tool

python -m zipfile -c <zip> <files> — Erstellt ein ZIP-Archiv.

python -m zipfile -c archive.zip *.py

python -m base64 <file> — Kodiert eine Datei als Base64.

python -m base64 image.png

python -m calendar <year> — Zeigt einen Kalender für ein Jahr an.

python -m calendar 2026

python -m site — Zeigt die Python-Pfadkonfiguration und die site-packages-Verzeichnisse an.

python -m site

Virtuelle Umgebungen

python -m venv <dir> — Legt eine virtuelle Umgebung an.

python -m venv .venv

source <dir>/bin/activate — Aktiviert die virtuelle Umgebung (Linux/macOS).

source .venv/bin/activate

<dir>\Scripts\activate — Aktiviert die virtuelle Umgebung (Windows).

.venv\Scripts\activate

deactivate — Deaktiviert die aktuelle virtuelle Umgebung.

deactivate

python -m venv --clear <dir> — Setzt eine bestehende virtuelle Umgebung zurück.

python -m venv --clear .venv

Info & Optionen

python --version — Zeigt die Python-Version an.

python --version

python -V -V — Zeigt detaillierte Versionsinfos an (Version, Build, Compiler).

python -V -V

python -m sysconfig — Zeigt die Build-Konfiguration von Python an.

python -m sysconfig

python -O <script> — Führt mit einfachen Optimierungen aus (entfernt assert-Anweisungen).

python -O app.py

python -B <script> — Schreibt keine .pyc-Bytecode-Dateien.

python -B app.py

python -u <script> — Ungepufferte Ausgabe auf stdout/stderr (nützlich beim Logging).

python -u worker.py

Fazit

Das python-CLI ist weit mehr als nur ein Startbefehl für Skripte: Mit -m wird die Standardbibliothek zum Werkzeugkasten fertiger Helfer, und die REPL bleibt der schnellste Ort, um eine Idee zu testen. Behalte für die Sicherheit eine Regel im Kopf – -c und -m führen beliebigen Code aus, also nur Schnipsel und Module ausführen, denen du vertraust. Nutze python -m http.server ausschließlich als lokalen Entwicklungshelfer, niemals als produktiven Webserver, und greife lieber zu einer projektlokalen virtuellen Umgebung (python -m venv), statt Pakete ins System-Python zu installieren. Sobald diese Flags in Fleisch und Blut übergehen, wird der Interpreter zu einem wirklich vielseitigen Alltagswerkzeug.

Verwandte Kommandos

  • artisan – PHP-Kommandozeilenwerkzeug von Laravel für Scaffolding und Tasks
  • cargo – Build-System und Paketmanager für Rust
  • composer – Abhängigkeitsmanager für PHP-Projekte