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 --versionDu 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 --versionpip aktualisieren
pip erscheint häufig in neuen Versionen. Halte es aktuell, um Resolver-Warnungen zu vermeiden:
python -m pip install --upgrade pipPakete installieren
Einfache Installation
pip install requestspip 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.0Du 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.txtEine typische requirements.txt sieht so aus:
requests==2.31.0
flask>=3.0,<4.0
sqlalchemyIm 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 requestsDas 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 listBeispielausgabe:
Package Version
---------- -------
pip 24.0
requests 2.31.0
setuptools 69.0.3Details zu einem Paket anzeigen
pip show requestsDie 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 checkpip 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 requestsDies 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 --upgradeVerwende 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 requestspip fragt vor dem Entfernen des Pakets nach einer Bestätigung. Übergib -y, um die Abfrage in Skripten zu überspringen:
pip uninstall -y requestsAbhä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.txtDie Ausgabe sieht so aus:
certifi==2024.2.2
charset-normalizer==3.3.2
idna==3.6
requests==2.31.0
urllib3==2.2.1Teile 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 requestsSiehe 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 requestsFü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
| Fehler | Wahrscheinliche Ursache | Lösung |
|---|---|---|
command not found: pip | pip nicht im PATH oder nicht installiert | python -m pip verwenden oder pip über ensurepip installieren |
Permission denied | Kein Schreibzugriff auf System-Python | --user hinzufügen oder eine virtuelle Umgebung aktivieren |
Could not find a version that satisfies the requirement | Paketname ist falsch oder Version existiert nicht | Genauen Namen auf pypi.org prüfen |
ResolutionImpossible | Konflikthafte Versionsanforderungen zwischen Paketen | pip check verwenden, um Konflikte zu identifizieren; Versions-Pins lockern |
SSL certificate verify failed | Firmen-Proxy oder veraltete Zertifikate | CA-Bundle aktualisieren oder --trusted-host pypi.org verwenden |
Kurzreferenztabelle
| Aufgabe | Befehl |
|---|---|
| pip-Version prüfen | pip --version |
| Ein Paket installieren | pip install requests |
| Eine bestimmte Version installieren | pip install requests==2.31.0 |
| Aus einer Requirements-Datei installieren | pip install -r requirements.txt |
| Ein Paket aktualisieren | pip install --upgrade requests |
| Ein Paket deinstallieren | pip uninstall requests |
| Installierte Pakete auflisten | pip list |
| Paketdetails anzeigen | pip show requests |
| Aktuelle Umgebung exportieren | pip freeze > requirements.txt |
| Auf Konflikte prüfen | pip 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