Kurz gesagt: Meist musst du pip gar nicht installieren, es kommt mit Python. Prüfe das mit python3 -m pip --version (unter Windows py -m pip --version). Fehlt pip, installierst du es auf Debian und Ubuntu mit sudo apt install python3-pip python3-venv, unter Windows mit einem Python von python.org per py -m ensurepip --upgrade. Pakete installierst du danach mit python3 -m pip install NAME, und zwar in einer virtuellen Umgebung.
python3 -m pip --version # Linux · macOS
py -m pip --version # Windowspip 23.0.1 from /usr/lib/python3/dist-packages/pip (python 3.11)Diese Zeile verrät dreierlei: dass pip installiert ist, welche Version es hat und zu welchem Python es gehört (der Teil in Klammern). Die beiden anderen Antworten, die du bekommen kannst:
/usr/bin/python3: No module named pip: Python ist da, pip nicht. Wie du es für dein System nachinstallierst, steht weiter unten.python3: command not foundoder unter WindowsPython was not found: Python selbst fehlt. Fang dann mit python: command not found (engl.) an.
Scheitert nur der nackte Befehl pip, während python3 -m pip funktioniert, behandelt die Fehlerseite pip: command not found (engl.) genau diesen Fall. In dieser Anleitung geht es darum, pip auf ein System zu bringen und pip install richtig zu nutzen.
Wie installiere ich pip unter Windows?
Die Installer von python.org enthalten pip. Unter Windows heißt pip installieren also meist: Python mit den richtigen Häkchen installieren und pip dann über den Launcher py aufrufen.
- 1Den Installer von python.org ausführen
Setze auf dem ersten Bildschirm das Häkchen bei Add python.exe to PATH (standardmäßig aus). Unter Customize installation ist die Funktion pip standardmäßig ausgewählt; lass sie an. Seit Python 3.14 bietet python.org außerdem den Python Install Manager für Windows an, der Laufzeiten mit
py installinstalliert; auch diese bringen pip mit, ebenso wie Python aus dem Microsoft Store. - 2Ein neues Terminal öffnen und prüfen
PowerShell oder cmd py --version py -m pip --versionEin Terminal, das während der Installation offen war, behält seinen alten PATH, öffne also ein frisches.
- 3Fehlt pip, nachinstallieren
PowerShell oder cmd py -m ensurepip --upgrade py -m pip --versionensurepipgehört zur Standardbibliothek von Python und installiert die pip-Kopie, die Python selbst mitbringt, ganz ohne Download. - 4Pakete mit py -m pip installieren
PowerShell oder cmd py -m pip install requests
Die Meldung 'pip' is not recognized as an internal or external command, in der cmd eines deutschen Windows Der Befehl "pip" ist entweder falsch geschrieben oder konnte nicht gefunden werden, heißt: pip ist installiert, aber sein Ordner steht nicht im PATH. pip.exe liegt im Ordner Scripts der Python-Installation, bei einer Installation pro Benutzer unter %LOCALAPPDATA%\Programs\Python\Python3XX\Scripts. Bleib entweder bei py -m pip, das keinen PATH-Eintrag braucht, oder starte den Installer erneut, wähle Modify und setze unter Advanced Options das Häkchen bei Add Python to environment variables. Dieselben Schritte funktionieren auf Windows Server 2022 und 2019, wo auch curl.exe für den Weg über get-pip.py bereitsteht.
Wie installiere ich pip unter Linux?
| Distribution | Befehl |
|---|---|
| Debian, Ubuntu | sudo apt install python3-pip python3-venv |
| Rocky Linux, AlmaLinux, Fedora, RHEL | sudo dnf install python3-pip |
| Alpine | apk add py3-pip |
| Arch Linux | sudo pacman -S python-pip |
| openSUSE | sudo zypper install python3-pip |
Nimm unter Linux den Paketmanager, nicht get-pip.py: Das System-Python gehört der Distribution, und deren Werkzeuge hängen davon ab. Das python3-pip von Debian 12 ist pip 23.0.1 und installiert drei Namen für dasselbe Programm: /usr/bin/pip, pip3 und pip3.11. Außerdem empfiehlt es build-essential und python3-dev, apt zieht also standardmäßig eine komplette Compiler-Toolchain mit. Das hilft, wenn ein Paket kompiliert werden muss; auf einem kleinen Server, der nur fertige Wheels installiert, hängst du --no-install-recommends an.
Danach: error: externally-managed-environment
Auf Debian 12 und neuer sowie Ubuntu 23.04 und neuer scheitert meist schon der nächste Schritt. So sieht ein einfaches pip install außerhalb einer virtuellen Umgebung auf Debian 12 aus:
error: externally-managed-environment
× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.
...
hint: See PEP 668 for the detailed specification.pip install --user wird genauso abgewiesen. Das ist so gewollt (PEP 668): pip hält sich aus dem Python heraus, das apt verwaltet. Installiere stattdessen in eine virtuelle Umgebung, oder nimm pipx für Kommandozeilen-Tools:
python3 -m venv ~/venvs/app
. ~/venvs/app/bin/activate
python -m pip install requests # landet in ~/venvs/app, systemweit ändert sich nichts
sudo apt install -y pipx # für Tools, die du als Befehl startest
pipx install httpieAlle Möglichkeiten, auch warum --break-system-packages der letzte Ausweg ist, stehen im Abschnitt zu externally-managed-environment (engl.) der pip-Fehleranleitung.
Wie installiere ich pip unter macOS?
Der Installer von python.org für macOS enthält pip; du rufst es als pip3 oder python3 -m pip auf. Das Python von Homebrew (brew install python) bringt ebenfalls pip3 mit, ist aber wie das von Debian als extern verwaltet markiert, nimm dort also eine venv. Auch das python3 aus Apples Command Line Tools hat pip3. Keines davon installiert einen nackten Befehl pip; wie du einen dazubekommst, zeigt der macOS-Abschnitt (engl.) der Fehleranleitung.
ensurepip oder get-pip.py: welches von beiden?
Die Installationsanleitung von pip selbst (pip.pypa.io) nennt zwei unterstützte Wege für ein Python ohne pip:
python -m ensurepip --upgradeinstalliert offline die pip-Kopie, die Python selbst mitbringt. Debian und Ubuntu verschieben ensurepip in das Paketpython3.X-venvund lassen es auf dem System-Python nicht zu, dort dient es also nurvenv.- get-pip.py lädt das neueste pip herunter. Hol es nur von
https://bootstrap.pypa.io/get-pip.py, der Adresse aus der Dokumentation von pip, und nur für ein Python, das du selbst gebaut oder installiert hast (python.org, ein Build aus den Quellen, das Embeddable Package für Windows), nie für das System-Python einer Distribution.
# Linux · macOS
curl -fsSLO https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py
# Windows
curl.exe -o get-pip.py https://bootstrap.pypa.io/get-pip.py
py get-pip.pyFür ein altes Python, das aktuelles pip nicht mehr unterstützt, hält dieselbe Seite versionierte Kopien unter https://bootstrap.pypa.io/pip/3.X/get-pip.py bereit. Das Embeddable Package für Windows kommt ohne pip und ohne aktiviertes site: Entferne zuerst das Kommentarzeichen vor import site in seiner Datei python3XX._pth, sonst werden installierte Pakete nicht gefunden.
Wie nutze ich pip install?
| Aufgabe | Befehl |
|---|---|
| Ein Paket installieren | python3 -m pip install requests |
| Eine bestimmte Version | python3 -m pip install requests==2.32.3 |
| Einen Versionsbereich (in Anführungszeichen) | python3 -m pip install "requests>=2.31,<3" |
| Ein Paket aktualisieren | python3 -m pip install --upgrade requests |
| Alles aus einer requirements-Datei | python3 -m pip install -r requirements.txt |
| Das Projekt in diesem Ordner, editierbar | python3 -m pip install -e . |
| Eine Wheel-Datei | python3 -m pip install ./pkg-1.0-py3-none-any.whl |
| Aus einem Git-Repository | python3 -m pip install "git+https://github.com/OWNER/REPO.git@v1.2.0" |
| Installierte Pakete anzeigen | python3 -m pip list |
| Details zu einem Paket | python3 -m pip show requests |
| Auf kaputte Abhängigkeiten prüfen | python3 -m pip check |
| Ein Paket entfernen | python3 -m pip uninstall requests |
In einer aktiven venv zeigen pip und python bereits in diese Umgebung, dort ist ein einfaches pip install requests also in Ordnung. Setze alles mit > oder < in Anführungszeichen. Ohne Anführungszeichen liest die Shell die Zeichen als Umleitung: pip install requests>=2.31 installiert das neueste requests und schreibt die Ausgabe von pip in eine Datei namens =2.31, und pip install requests<3 scheitert, weil es keine Datei namens 3 zum Einlesen gibt.
Ein kompletter Durchlauf mit einem kleinen lokalen Paket in einer venv sieht so aus:
$ python -m pip install ./hello
...
Successfully built hello
Installing collected packages: hello
Successfully installed hello-0.1.0
$ python -m pip uninstall -y hello
Found existing installation: hello 0.1.0
Uninstalling hello-0.1.0:
Successfully uninstalled hello-0.1.0pip, pip3 oder python -m pip?
pip3 ist der Name, der klarstellt, dass du Python 3 meinst, aus den Jahren, als pip noch Python 2 bedeuten konnte. Auf Debian 12 starten alle drei Namen dasselbe Programm, und in einer venv gehören pip, pip3 und pip3.X alle zu dieser venv. Die sichere Gewohnheit ist python3 -m pip (unter Windows py -m pip): Damit nimmst du immer das pip genau des Pythons, das du aufrufst, Pakete landen also nie in einem anderen Interpreter als dem, der deinen Code ausführt. Im Zweifel nennt pip --version diesen Interpreter in Klammern.
Wie mache ich ein pip-Update?
python -m pip install --upgrade pip # Linux · macOS
py -m pip install --upgrade pip # Windows- Unter Windows die Form mit
-mnehmen.pip install --upgrade pipstoppt mitERROR: To modify pip, please run the following command:, gefolgt von der Variante mitpython.exe -m pip, weil Windows die laufendepip.exenicht ersetzen kann. - Auf Debian und Ubuntu das System-pip apt überlassen.
sudo apt install --only-upgrade python3-pipbringt, was das Release unterstützt. Ein pip-Upgrade mit pip selbst wird dort als extern verwaltet abgelehnt, und wer es erzwingt, hat danach zwei pip-Installationen übereinander, für die sich apt und pip jeweils zuständig halten. Eine venv bekommt ihr eigenes pip, das du frei aktualisieren kannst. - „
[notice] A new release of pip is available“ nach einer Installation ist ein Hinweis, kein Fehler. Führe in einer venv den vorgeschlagenen Befehl aus; auf dem System-Python ignorierst du ihn.
pip install pip antwortet bei funktionierendem pip nur mit Requirement already satisfied; damit etwas passiert, braucht es --upgrade. Und wo pip fehlt, kann es sich nicht selbst installieren: Das ist die Aufgabe von apt, ensurepip oder get-pip.py.
requirements.txt: die Abhängigkeiten eines Projekts installieren
# eine Anforderung pro Zeile
requests==2.32.3
flask>=3.0,<4
gunicornpython3 -m venv .venv && . .venv/bin/activate
python -m pip install -r requirements.txt
python -m pip freeze > requirements.txt # die genauen Versionen zurückschreibenpip freeze listet jedes Paket der aktuellen Umgebung mit seiner genauen Version, führe es also in der venv des Projekts aus: Außerhalb einer venv gibt es das ganze System-Python aus. Ein Paket, das aus einem lokalen Ordner oder aus Git installiert wurde, erscheint als name @ file:///… oder name @ git+https://… statt mit einer Versionsnummer. python -m pip uninstall -r requirements.txt -y entfernt die gelisteten Pakete wieder; uninstall entfernt nie ihre Abhängigkeiten, für einen sauberen Neuanfang löschst du also die venv und legst sie neu an.
Wie deinstalliere ich pip?
- Debian und Ubuntu:
sudo apt remove python3-pip. - Eine venv: Lösch den Ordner der venv; ihr pip verschwindet gleich mit.
- Windows oder ein Python von python.org:
py -m pip uninstall pip, unter macOSpython3 -m pip uninstall pip.ensurepipholt es zurück.
Häufige Fehler bei pip install
| Meldung | Ursache | Lösung |
|---|---|---|
error: externally-managed-environment | pip außerhalb einer venv auf Debian 12+, Ubuntu 23.04+ | venv oder pipx (engl.) |
'pip' is not recognized as an internal or external command | Windows: Der Ordner Scripts steht nicht im PATH | py -m pip, oder Python in den PATH aufnehmen |
No module named pip | Dieses Python hat kein pip | apt, dnf, apk oder ensurepip |
Could not find a version that satisfies the requirement | Tippfehler im Namen, kein Build für deine Python-Version oder Plattform, oder kein Netz | Namen auf PyPI und python3 --version prüfen |
The script … is installed in '…' which is not on PATH | Befehle landeten in ~/.local/bin oder einem Scripts-Ordner | Diesen Ordner in den PATH aufnehmen (engl.) |
Microsoft Visual C++ 14.0 or greater is required | Windows: kein Wheel, das Paket muss kompiliert werden | Microsoft C++ Build Tools installieren oder eine Version mit Wheel wählen |
Killed | Dem Build ging der Arbeitsspeicher aus | Swap oder RAM ergänzen (engl.) |
„Could not find a version“ sieht so aus (hier mit einem Paketnamen, den es nicht gibt, auf Debian 12 mit pip 23.0.1):
ERROR: Could not find a version that satisfies the requirement vmh-no-such-package-xyz (from versions: none)
ERROR: No matching distribution found for vmh-no-such-package-xyz(from versions: none) heißt, pip hat überhaupt nichts Brauchbares gefunden: ein falscher Name, ein Index, den es nicht erreicht, oder ein Paket ohne Release für deine Python-Version. Steht in den Klammern eine Liste von Versionen, gibt es das Paket, aber keine davon passt zu deiner Versionsangabe oder deinem Python. Arbeitest du mit conda, installiere zuerst mit conda und nur das mit pip, was conda nicht hat, in derselben Umgebung; ein fehlender Befehl conda hat seine eigene Lösung: conda: command not found (engl.).
Häufige Fragen
Wie installiere ich pip unter Windows?
Installiere Python von python.org: Die Funktion pip ist standardmäßig ausgewählt, setze zusätzlich das Häkchen bei Add python.exe to PATH. Öffne danach ein neues Terminal und führe py -m pip --version aus. Fehlt pip, installiert py -m ensurepip --upgrade die Kopie, die Python mitbringt. Wird pip als Befehl nicht erkannt, nimm py -m pip, das keinen PATH-Eintrag braucht.
Wie installiere ich pip unter Ubuntu oder Debian?
Mit sudo apt install python3-pip python3-venv. Pakete installierst du danach in einer virtuellen Umgebung (python3 -m venv .venv, dann .venv/bin/pip install NAME), denn Debian 12 und neuer sowie Ubuntu 23.04 und neuer lehnen pip install in das System-Python mit error: externally-managed-environment ab.
Wie mache ich ein pip-Update?
In einer virtuellen Umgebung oder mit einem Python von python.org mit python -m pip install --upgrade pip, unter Windows mit py -m pip install --upgrade pip (ein einfaches pip install --upgrade pip stoppt dort mit „To modify pip, please run the following command“). Auf Debian und Ubuntu überlässt du das System-pip apt.