Menu

Python pip: Pakete installieren, Versionen verwalten und PyPI nutzen

Wie du Python-Pakete mit pip installierst, aktualisierst und entfernst — inklusive PyPI, requirements-Dateien und wie du die Globalinstall-Falle vermeidest.

Was pip tatsächlich ist

pip ist das Werkzeug, das Python-Bibliotheken installiert, die du nicht selbst geschrieben hast. Führst du pip install requests aus, sucht es requests auf PyPI (dem Python Package Index), lädt die richtige Version für deine Plattform und legt sie ins Verzeichnis site-packages deiner Python-Installation. Danach funktioniert import requests.

Jede Python-3-Installation von python.org, Homebrew oder deinem Linux-Paketmanager kommt mit pip. Bevor du irgendetwas installierst, prüfe:

python -m pip --version

Du solltest eine Versionsnummer und einen Pfad zum pip-Modul sehen. Schlägt der Befehl fehl, ist die zuverlässigste Lösung:

python -m ensurepip --upgrade

Das bootstrappt pip in deine Python-Installation mittels der Kopie, die der Interpreter mitbringt.

python -m pip vs. pip

Beide Formen siehst du. Sie tun fast dasselbe, mit einem wichtigen Unterschied: python -m pip nutzt das python aus deinem PATH — genau das, das auch deine Skripte nutzen. Nacktes pip nutzt das pip, das zuerst gefunden wird, was nicht immer dasselbe ist.

Hast du mehrere Python-Versionen installiert (auf macOS schnell passiert), ist das nackte pip der Weg in die verwirrende Situation „ich habe die Bibliothek installiert, aber mein Code sagt trotzdem ModuleNotFoundError“.

Faustregel: nimm python -m pip ..., wenn du sicher sein willst, welcher Interpreter das Paket bekommt. Nacktes pip ist bei Schnellarbeit okay, wenn du sicher bist.

Ein Paket installieren

Der Grundbefehl:

python -m pip install requests

Das holt requests von PyPI samt seiner Abhängigkeiten und installiert sie. Eine Minute später kannst du es nutzen:

main.py
Output
Click Run to see the output here.

Mehrere Pakete auf einmal installieren:

python -m pip install requests pandas rich

Eine bestimmte Version pinnen:

python -m pip install "django==5.0.2"
python -m pip install "requests>=2.30,<3"

Die Anführungszeichen zählen in manchen Shells — sie verhindern, dass == und < als Shell-Operatoren interpretiert werden.

Upgraden und Deinstallieren

python -m pip install --upgrade requests
python -m pip uninstall requests

--upgrade holt die neueste Version, die deine Einschränkung erfüllt. uninstall entfernt das Paket, aber nicht seine Abhängigkeiten; die bleiben, bis du sie explizit entfernst.

Um pip selbst aktuell zu halten:

python -m pip install --upgrade pip

Es lohnt sich, das alle paar Monate zu tun. Neuere pip-Versionen fangen mehr Installationsprobleme ab und lösen Abhängigkeiten besser auf.

Installierte Pakete ansehen

python -m pip list
python -m pip show requests

list zeigt jedes Paket in der aktuellen Python-Umgebung. show requests druckt Version, Ort, Abhängigkeiten und Lizenz für ein bestimmtes Paket — praktisch, wenn du dich fragst „welche Version davon nutze ich eigentlich?“.

requirements.txt: deine Abhängigkeiten festhalten

Hat ein Projekt mehr als ein paar Bibliotheken, schreib die Liste auf. pip freeze macht das für dich:

python -m pip freeze > requirements.txt

Das erzeugt eine Datei mit einer gepinnten Abhängigkeit pro Zeile:

django==5.0.2
requests==2.31.0
rich==13.7.1

Jede, die dein Repo klont, kann die Installation nachbauen mit:

python -m pip install -r requirements.txt

pip freeze erfasst alles Installierte, auch transitive Abhängigkeiten. Das ist gut für exakte Reproduzierbarkeit, aber rauschig, wenn du nur die Top-Level-Bibliotheken willst, die dein Code tatsächlich importiert. Viele Projekte führen eine handgepflegte requirements.txt direkter Abhängigkeiten und überlassen pip die transitiven.

Für moderne Projekte übernimmt pyproject.toml (gepaart mit Werkzeugen wie pip-tools, uv, poetry oder hatch) die Rolle der requirements.txt. Das Konzept ist dasselbe — „Abhängigkeiten aufschreiben, mit einem Befehl installieren“ —, nur das Dateiformat ist strukturierter.

Installiere immer in eine virtuelle Umgebung

Jedes echte Python-Projekt sollte eine virtuelle Umgebung haben. Das ist ein projektlokaler Ordner mit eigenem python und eigenen installierten Paketen — sodass pip install in einem Projekt kein anderes beeinflusst.

Das Zwei-Zeilen-Setup:

python -m venv .venv
source .venv/bin/activate    # macOS / Linux
# or .venv\Scripts\activate on Windows

Einmal aktiviert, installiert python -m pip install requests in die venv. Dein System-Python bleibt sauber. Wir behandeln das ausführlicher auf der Seite Virtuelle Umgebungen.

Läufst du jemals in ein pip install und siehst eine Warnung zur Installation ins System-Python (oder eine Meldung, --break-system-packages zu übergeben), stopp. Das ist dein Zeichen, stattdessen eine venv zu erzeugen.

Wenn pip ein Paket nicht installieren kann

Ein paar häufige Fehlerbilder und was sie bedeuten:

  • „Could not find a version that satisfies the requirement …“ — meist ein Tippfehler im Paketnamen oder das Paket verlangt eine neuere Python-Version als du hast.
  • „error: Microsoft Visual C++ 14.0 or greater is required“ (Windows) — das Paket hat eine native Erweiterung und braucht eine C++-Build-Toolchain. Installier Microsofts Build Tools oder such ein vorgebautes Wheel (die meisten populären Pakete liefern welche).
  • „Permission denied“ — du willst ins System-Python ohne root installieren. Die richtige Lösung ist nicht sudo pip install, sondern eine virtuelle Umgebung.
  • ModuleNotFoundError nach der Installation — fast immer der Fall, dass pip install das Paket in ein anderes Python gelegt hat als das, das dein Skript läuft. Prüf which python und which pip (macOS/Linux) oder where python/where pip (Windows). Oder, verlässlicher, nimm python -m pip install ....

pip's moderne Alternativen

Ein paar Werkzeuge, die du erwähnt sehen wirst — alle pip-kompatibel, lösen bestimmte Schmerzpunkte:

  • uv — ein deutlich schnellerer Installer und Resolver. Drop-in-Ersatz für die meisten pip-Befehle.
  • pipx — installiert Kommandozeilen-Werkzeuge (wie black, ruff, httpie) in isolierte venvs, sodass sie global verfügbar sind, ohne mit Projektabhängigkeiten zu kollidieren.
  • poetry und hatch — Projektmanager, die venv-Handling, Abhängigkeitsauflösung und Bauen in einem Werkzeug kombinieren.

Am ersten Tag brauchst du keines davon. Lern zuerst pip; greif zu den anderen, wenn ihre Schmerzpunkte zu deinen werden.

Als Nächstes: virtuelle Umgebungen

Pakete und virtuelle Umgebungen gehören zusammen. Du hast gesehen warum; die nächste Seite führt ausführlich durch venv — erzeugen, aktivieren, deaktivieren und die kleinen Konventionen, die Python-Projekte ordentlich halten.

Häufig gestellte Fragen

Was ist pip in Python?

pip ist Pythons Paketinstaller — das Werkzeug, das Drittanbieter-Bibliotheken vom Python Package Index (PyPI) herunterlädt und installiert. pip install requests holt die requests-Bibliothek und legt sie dorthin, wo dein Python-Interpreter sie importieren kann. Es liegt jeder aktuellen Python-3-Installation bei.

Wie installiere ich pip?

Es kommt mit Python. Meldet pip --version einen fehlenden Befehl, führ python -m ensurepip --upgrade oder python -m pip install --upgrade pip aus. Unter macOS und Linux nimm pip3, falls das nackte pip nicht gefunden wird — es zeigt auf die Python-3-Installation.

Wie aktualisiere ich pip?

Führ python -m pip install --upgrade pip aus. python -m pip statt des reinen pip stellt sicher, dass das Upgrade auf den tatsächlich genutzten Python-Interpreter zielt — ein kleiner, aber wichtiger Punkt, wenn mehrere Python-Versionen installiert sind.

Soll ich Pakete global oder in einer virtuellen Umgebung installieren?

Virtuelle Umgebung, jedes Mal, bei jedem Projekt jenseits eines Einmalskripts. Globale Installationen verursachen Versionskonflikte zwischen Projekten und verschmutzen dein System-Python. Die Kurzantwort ist das Modul venv (eingebaut) — wir behandeln es auf der Seite zu virtuellen Umgebungen.

Lerne mit Coddy zu programmieren

LOS GEHT'S