W3docs

Python PIP

Lerne, wie du pip nutzt, um Python-Pakete zu installieren, zu aktualisieren und zu entfernen, Versionen festzulegen und Abhängigkeiten zu exportieren.

pip ist Pythons integrierter Paketmanager. Er lädt Pakete von PyPI (dem Python Package Index) herunter und installiert sie, damit du sie mit import in deinem Code verwenden kannst. Ab Python 3.4 ist pip bereits enthalten — eine separate Installation ist nicht nötig.

Dieses Kapitel behandelt alles, was du brauchst, um pip sicher einzusetzen: die Installation prüfen, Pakete installieren und entfernen, Versionen festlegen, Abhängigkeiten exportieren und häufige Fehler beheben.

Die pip-Installation prüfen

Öffne ein Terminal und führe aus:

pip --version

Du erhältst eine Ausgabe ähnlich wie:

pip 24.0 from /usr/lib/python3/dist-packages/pip (python 3.12)

Falls der Befehl nicht gefunden wird oder du mehrere Python-Versionen hast, verwende stattdessen die Form python -m pip — sie stellt sicher, dass pip für den gewünschten Python-Interpreter ausgeführt wird:

python -m pip --version

pip aktualisieren

pip erscheint häufig in neuen Versionen. Halte es aktuell, um Resolver-Warnungen zu vermeiden:

python -m pip install --upgrade pip

Pakete installieren

Einfache Installation

pip install requests

pip lädt requests und alle seine Abhängigkeiten von PyPI herunter und installiert sie in deiner aktiven Python-Umgebung. Nach der Installation kannst du das Paket sofort importieren.

Eine bestimmte Version installieren

Fixiere eine genaue Version, wenn Reproduzierbarkeit wichtig ist:

pip install requests==2.31.0

Du kannst auch Versionsbereiche mit Vergleichsoperatoren angeben:

pip install "requests>=2.28,<3.0"

Setze Bereiche in der Shell immer in Anführungszeichen, damit < und > nicht als Umleitungen interpretiert werden.

Aus einer Requirements-Datei installieren

Eine requirements.txt-Datei listet alle Pakete, die ein Projekt benötigt, zeilenweise auf. Installiere alle Pakete in der Datei mit einem einzigen Befehl:

pip install -r requirements.txt

Eine typische requirements.txt sieht so aus:

requests==2.31.0
flask>=3.0,<4.0
sqlalchemy

Im bearbeitbaren Modus installieren

Wenn du ein lokales Paket entwickelst und Änderungen ohne erneute Installation wirksam werden sollen, verwende das -e-Flag:

pip install -e .

Dadurch wird das Paketverzeichnis direkt in die Umgebung verlinkt, anstatt Dateien zu kopieren.

Nur für den aktuellen Benutzer installieren

Wenn du keine Schreibrechte auf das System-Python-Verzeichnis hast und keine virtuelle Umgebung verwendest, füge --user hinzu:

pip install --user requests

Das Paket wird in dein Home-Verzeichnis installiert (~/.local/ unter Linux/macOS). Dies ist ein Fallback — die Verwendung einer virtuellen Umgebung ist fast immer die bessere Wahl.

Pakete auflisten und untersuchen

Alle installierten Pakete auflisten

pip list

Beispielausgabe:

Package    Version
---------- -------
pip        24.0
requests   2.31.0
setuptools 69.0.3

Details zu einem Paket anzeigen

pip show requests

Die Ausgabe enthält Version, Autor, Lizenz, Installationsort und — wichtig — was das Paket benötigt und was es verwendet:

Name: requests
Version: 2.31.0
Summary: Python HTTP for Humans.
Home-page: https://requests.readthedocs.io
Author: Kenneth Reitz
License: Apache 2.0
Location: /usr/lib/python3/dist-packages
Requires: certifi, charset-normalizer, idna, urllib3
Required-by:

Auf Versionskonflikte prüfen

pip check

pip durchsucht alle installierten Pakete und meldet inkompatible Anforderungen. Wenn alles in Ordnung ist, beendet sich der Befehl ohne Ausgabe.

Pakete aktualisieren und entfernen

Ein Paket aktualisieren

pip install --upgrade requests

Dies installiert die neueste Version, die alle in deiner Umgebung vorhandenen Einschränkungen erfüllt.

Alle Pakete aktualisieren (kein eingebauter Befehl)

pip bietet keinen einzelnen Befehl, um alle installierten Pakete zu aktualisieren. Ein gängiger Workaround mit pip list und xargs:

pip list --outdated --format=freeze | cut -d = -f 1 | xargs pip install --upgrade

Verwende dies vorsichtig in einer Projektumgebung — Massenaktualisierungen können Breaking Changes einführen. Gepinnte requirements.txt-Dateien sind eine sicherere Alternative.

Ein Paket deinstallieren

pip uninstall requests

pip fragt vor dem Entfernen des Pakets nach einer Bestätigung. Übergib -y, um die Abfrage in Skripten zu überspringen:

pip uninstall -y requests

Abhängigkeiten exportieren

Die aktuelle Umgebung einfrieren

pip freeze gibt alle installierten Pakete und ihre genauen Versionen in einem Format aus, das für eine requirements.txt-Datei geeignet ist:

pip freeze > requirements.txt

Die Ausgabe sieht so aus:

certifi==2024.2.2
charset-normalizer==3.3.2
idna==3.6
requests==2.31.0
urllib3==2.2.1

Teile requirements.txt mit Teammitgliedern oder füge sie in dein Repository ein, damit jeder deine Umgebung mit pip install -r requirements.txt reproduzieren kann.

pip und virtuelle Umgebungen

Standardmäßig installiert pip Pakete global (oder benutzerspezifisch mit --user). Das führt zu Problemen, wenn zwei Projekte unterschiedliche Versionen derselben Bibliothek benötigen.

Die Lösung ist eine virtuelle Umgebung: eine isolierte Python-Installation mit eigenem pip und eigenem site-packages-Verzeichnis. Wenn eine virtuelle Umgebung aktiv ist, wirkt sich pip install nur auf diese Umgebung aus.

# Create a virtual environment named .venv
python -m venv .venv

# Activate it (macOS / Linux)
source .venv/bin/activate

# Activate it (Windows)
.venv\Scripts\activate

# Now pip works inside the isolated environment
pip install requests

Siehe das Kapitel Python Virtual Environments für den vollständigen Workflow.

Ausführliche Ausgabe erhalten

Wenn eine Installation fehlschlägt, kann die standardmäßige Fehlermeldung kryptisch sein. Füge --verbose (oder -v) hinzu, um jeden Schritt zu sehen, den pip ausführt:

pip install --verbose requests

Füge -v zweimal hinzu (-vv), um noch mehr Details zu erhalten, einschließlich der HTTP-Anfragen, die pip an PyPI sendet.

Häufige Fehler und Lösungen

FehlerWahrscheinliche UrsacheLösung
command not found: pippip nicht im PATH oder nicht installiertpython -m pip verwenden oder pip über ensurepip installieren
Permission deniedKein Schreibzugriff auf System-Python--user hinzufügen oder eine virtuelle Umgebung aktivieren
Could not find a version that satisfies the requirementPaketname ist falsch oder Version existiert nichtGenauen Namen auf pypi.org prüfen
ResolutionImpossibleKonflikthafte Versionsanforderungen zwischen Paketenpip check verwenden, um Konflikte zu identifizieren; Versions-Pins lockern
SSL certificate verify failedFirmen-Proxy oder veraltete ZertifikateCA-Bundle aktualisieren oder --trusted-host pypi.org verwenden

Kurzreferenztabelle

AufgabeBefehl
pip-Version prüfenpip --version
Ein Paket installierenpip install requests
Eine bestimmte Version installierenpip install requests==2.31.0
Aus einer Requirements-Datei installierenpip install -r requirements.txt
Ein Paket aktualisierenpip install --upgrade requests
Ein Paket deinstallierenpip uninstall requests
Installierte Pakete auflistenpip list
Paketdetails anzeigenpip show requests
Aktuelle Umgebung exportierenpip freeze > requirements.txt
Auf Konflikte prüfenpip check

Verwandte Kapitel

  • Python Modules — verstehe, wie Python Code importiert, bevor du Pakete von Drittanbietern installierst
  • Python Virtual Environments — isoliere Projektabhängigkeiten, damit pip-Installationen nie in Konflikt geraten

Übungen

Übung
Which pip command exports all installed package versions to a file?
Which pip command exports all installed package versions to a file?
Was this page helpful?