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.pypython <script> <args> — Führt ein Skript mit Kommandozeilen-Argumenten aus.
python convert.py --input data.csv --output result.jsonpython -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 8080python -i <script> — Führt das Skript aus und wechselt danach in den interaktiven Modus (zum Debuggen).
python -i setup.pyInteraktiv & REPL
python — Startet die interaktive Python-REPL.
pythonpython -q — Startet die REPL im stillen Modus (ohne Versions-Banner).
python -qpython -m asyncio — Startet eine async-fähige REPL (unterstützt await).
python -m asyncioDebugging & Profiling
python -m pdb <script> — Führt das Skript mit dem Python-Debugger aus.
python -m pdb app.pypython -m cProfile <script> — Profiliert ein Skript (Laufzeit je Funktion).
python -m cProfile -s cumtime app.pypython -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.pypython -W all <script> — Zeigt alle Warnungen an.
python -W all app.pypython -X tracemalloc <script> — Aktiviert das Verfolgen von Speicher-Allokationen.
python -X tracemalloc app.pyNützliche Module
python -m http.server <port> — Startet einen einfachen HTTP-Dateiserver.
python -m http.server 8000python -m json.tool <file> — Gibt JSON aus einer Datei oder von stdin formatiert aus.
echo '{"a":1}' | python -m json.toolpython -m zipfile -c <zip> <files> — Erstellt ein ZIP-Archiv.
python -m zipfile -c archive.zip *.pypython -m base64 <file> — Kodiert eine Datei als Base64.
python -m base64 image.pngpython -m calendar <year> — Zeigt einen Kalender für ein Jahr an.
python -m calendar 2026python -m site — Zeigt die Python-Pfadkonfiguration und die site-packages-Verzeichnisse an.
python -m siteVirtuelle Umgebungen
python -m venv <dir> — Legt eine virtuelle Umgebung an.
python -m venv .venvsource <dir>/bin/activate — Aktiviert die virtuelle Umgebung (Linux/macOS).
source .venv/bin/activate<dir>\Scripts\activate — Aktiviert die virtuelle Umgebung (Windows).
.venv\Scripts\activatedeactivate — Deaktiviert die aktuelle virtuelle Umgebung.
deactivatepython -m venv --clear <dir> — Setzt eine bestehende virtuelle Umgebung zurück.
python -m venv --clear .venvInfo & Optionen
python --version — Zeigt die Python-Version an.
python --versionpython -V -V — Zeigt detaillierte Versionsinfos an (Version, Build, Compiler).
python -V -Vpython -m sysconfig — Zeigt die Build-Konfiguration von Python an.
python -m sysconfigpython -O <script> — Führt mit einfachen Optimierungen aus (entfernt assert-Anweisungen).
python -O app.pypython -B <script> — Schreibt keine .pyc-Bytecode-Dateien.
python -B app.pypython -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.
Weiterführende Links
- Python-Dokumentation – die offizielle Referenz zur Sprache und Standardbibliothek (englisch)
- Command line and environment – vollständige Liste der Interpreter-Optionen und Umgebungsvariablen (englisch)
- venv – virtuelle Umgebungen – isolierte Umgebungen anlegen und verwalten (englisch)