Pip für Python installieren – Schritt für Schritt

Prüfen, ob pip schon da ist, ihn über ensurepip, apt oder get-pip.py nachholen – und verstehen, warum pip install auf aktuellen Linux-Systemen mit externally-managed-environment abbricht.

pip ist der Paketinstaller von Python. Er lädt Bibliotheken aus dem Python Package Index herunter und zieht deren Abhängigkeiten gleich mit. Wer Python von python.org installiert hat, hat pip bereits; fehlt er, liegt das fast immer an einer Linux-Distribution, die ihn in ein eigenes Paket ausgelagert hat.

Diese Anleitung geht drei Fragen der Reihe nach durch: Ist pip schon da? Wenn nein, wie kommt er auf das System? Und warum scheitert pip install auf einem frisch aufgesetzten Debian oder Ubuntu, obwohl alles richtig aussieht? Die Versionsangaben haben den Stand September 2026.

Was pip ist und warum du ihn brauchst

Der Name ist ein rekursives Akronym: „Pip Installs Packages“. Das Werkzeug holt ein Paket von PyPI, installiert es in die Umgebung, auf die der aufrufende Interpreter zeigt, und beschafft die benötigten Abhängigkeiten in passenden Versionen dazu.

Der zweite Teil dieses Satzes ist der wichtige. pip gehört nicht zum Betriebssystem, sondern zu einer bestimmten Python-Installation. Auf macOS und Linux liegen fast immer mehrere nebeneinander – die des Systems, eine aus Homebrew oder pyenv, dazu jede virtuelle Umgebung. Ein bloßes pip trifft davon irgendeine, nämlich die, die zuerst im $PATH steht. Die Schreibweise python3 -m pip legt dagegen fest, welcher Interpreter gemeint ist; der offizielle Packaging User Guide benutzt sie durchgehend. Diese eine Gewohnheit erspart dir später die meisten Rätsel.

Aktuell ist pip 26.2.1 vom 4. August 2026; die Fassung setzt CPython 3.10 oder neuer voraus (Projektseite auf PyPI). Die neueste Python-Version ist 3.14.4.

Schritt 1: Prüfen, ob pip schon installiert ist

Öffne ein Terminal und frag die Version ab:

python3 -m pip --version

Die Ausgabe nennt drei Dinge: die pip-Version, den Pfad, unter dem pip liegt, und in Klammern die Python-Version, zu der dieser pip gehört. Unter Windows lautet der Aufruf py -m pip --version.

Antwortet das Terminal mit No module named pip, fehlt pip für genau diesen Interpreter. Kommt command not found, kann auch nur der Pfad fehlen – prüfe in dem Fall zuerst mit python3 --version, ob überhaupt Python installiert ist. In beiden Fällen geht es mit Schritt 2 weiter.

Schritt 2: pip nachinstallieren

Die pip-Dokumentation kennt genau zwei unterstützte Wege, und auf Linux kommt der Umweg über die Paketverwaltung dazu. Probiere sie in dieser Reihenfolge.

1. ensurepip. Seit Python 3.4 liegt in der Standardbibliothek ein Modul, das pip aus mitgelieferten Dateien einspielt – ohne Download, ohne Adminrechte:

python3 -m ensurepip --upgrade

2. Die Paketverwaltung deiner Distribution. Auf Debian und Ubuntu führt der erste Weg meist nicht zum Ziel. Die Debian Python Policy hält fest, dass Module, die der Systempaketverwaltung ins Gehege kommen – ausdrücklich genannt: ensurepip außerhalb virtueller Umgebungen –, so verändert ausgeliefert werden, dass sie stattdessen eine Erklärung ausgeben. pip und das venv-Modul kommen dort aus eigenen Paketen:

sudo apt install python3-pip python3-venv

3. get-pip.py. Ein Bootstrap-Skript, das pip herunterlädt und einrichtet. Es ist der zweite offiziell unterstützte Weg und die richtige Wahl, wenn die beiden anderen ausfallen:

curl -O https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py

Dass get-pip.py hier hinten steht und nicht vorn, hat einen sachlichen Grund: Das Skript schreibt an der Paketverwaltung vorbei. Auf einem System, das pip selbst als Paket pflegt, entstehen daraus zwei Installationen, die sich gegenseitig überschreiben können. Unter Windows und macOS stellt sich die Frage seltener: Die Installationsprogramme von python.org bringen pip mit. Setze im Windows-Installer den Haken bei „Add Python to PATH“, sonst findet die Eingabeaufforderung den Interpreter später nicht.

Warum du eine virtuelle Umgebung brauchst

Hier scheitern die meisten Anleitungen aus den Jahren davor. Aktuelle Linux-Distributionen lassen nicht mehr zu, dass pip in die vom System gepflegte Python-Installation schreibt. Grundlage ist eine Spezifikation der Python Packaging Authority: Eine Markierungsdatei namens EXTERNALLY-MANAGED im stdlib-Verzeichnis sagt Werkzeugen wie pip, „that they neither install nor remove packages into the interpreter’s default installation environment“ (Externally Managed Environments).

Findet pip diese Datei und läuft zugleich außerhalb einer virtuellen Umgebung, bricht es ab. Die Meldung lautet error: externally-managed-environment, gefolgt von „This environment is externally managed“ und einem Hinweistext, den die Distribution selbst in die Markierungsdatei schreibt. Das ist kein Defekt, sondern der Normalzustand auf Debian, Ubuntu, Fedora und Raspberry Pi OS.

Die Antwort darauf ist eine eigene Umgebung je Projekt, nicht das Aushebeln der Sperre:

python3 -m venv .venv
source .venv/bin/activate
python -m pip install requests

Die mittlere Zeile gilt für bash und zsh. Unter Windows heißt sie .venv\Scripts\activate.bat in der Eingabeaufforderung und .venv\Scripts\Activate.ps1 in der PowerShell; die venv-Dokumentation listet die übrigen Shells in einer Tabelle auf. Ein eigenes pip musst du in der Umgebung nicht einrichten: venv ruft beim Anlegen selbst ensurepip auf, sofern du nicht --without-pip angibst.

Die Spezifikation sieht einen Notausgang vor, --break-system-packages, und beschreibt ihn als etwas, das „should carry some connotation that its use is risky“. Der Name ist die Warnung, und sudo davorzusetzen macht es nicht besser, sondern schlimmer – dazu unser Artikel Sudo auf Debian installieren und nutzen. Wer ein fertiges Kommandozeilenprogramm systemweit braucht statt einer Bibliothek im Projekt, nimmt dafür pipx. Es legt je Programm eine eigene Umgebung an und hängt nur den Startbefehl in den $PATH. Das Monitoring-Werkzeug aus unserem Artikel über Glances ist ein typischer Kandidat dafür.

Die pip-Befehle für den Alltag

Vier Befehle decken den größten Teil der Arbeit ab. Sie funktionieren genauso mit python3 -m pip davor, und das ist außerhalb einer aktivierten Umgebung auch die bessere Schreibweise.

1.Pakete installieren:

pip install package_name

Ohne Versionsangabe holt pip die neueste Fassung, die zu deinem Python passt. paket==1.2.3 nagelt eine Version fest, paket>=1.2 setzt eine Untergrenze. Mehrere Pakete dürfen in einem Aufruf stehen.

2.Installierte Pakete auflisten:

pip list

Gezeigt wird der Bestand der aktiven Umgebung, nicht der des Systems – in zwei Projektverzeichnissen kommen deshalb zwei verschiedene Listen heraus. Für eine Datei, die sich anderswo wieder einspielen lässt, nimmst du pip freeze > requirements.txt und später pip install -r requirements.txt. pip show paketname nennt Version, Herkunft und Abhängigkeiten eines einzelnen Pakets, pip check meldet Abhängigkeiten, die nicht erfüllt sind.

3.Ein spezifisches Paket aktualisieren:

pip install --upgrade package_name

Die Dokumentation schränkt ein, was dieser Aufruf leistet: Das genannte Paket wird sicher aktualisiert, seine Abhängigkeiten dagegen nur dann, „if their installed versions do not meet the minimum requirements“. Wer alles auf einmal anheben will, braucht dafür eine gepflegte requirements.txt, keinen Sammelbefehl.

4.Ein Paket deinstallieren:

pip uninstall package_name

Entfernt wird nur das genannte Paket. Alles, was seinetwegen mitinstalliert wurde, bleibt stehen: Nach pip install requests und anschließendem pip uninstall requests stehen certifi, charset-normalizer, idna und urllib3 weiter in pip list. Genau deshalb ist eine Wegwerf-Umgebung je Projekt bequemer als das Aufräumen von Hand – du löschst den Ordner .venv und fängst neu an.

Troubleshooting: die vier häufigsten Fehler

„error: externally-managed-environment“. Kein Fehler deinerseits, sondern die oben beschriebene Sperre. Leg eine virtuelle Umgebung an und installiere dort hinein. --break-system-packages löst das Problem nur scheinbar und setzt dafür die Python-Installation aufs Spiel, an der auch Systemwerkzeuge hängen.

Das Paket ist installiert, der Import findet es nicht. Der häufigste Fall überhaupt, und fast immer derselbe Grund: Installiert wurde in eine andere Umgebung als die, aus der das Skript läuft. Vergleiche den Pfad aus python3 -m pip --version mit dem aus python3 -c "import sys; print(sys.executable)". Stimmen sie nicht überein, hast du die Ursache. Der Aufruf python3 -m pip install … statt pip install … verhindert das von vornherein.

„Permission denied“. pip versucht, in ein Verzeichnis zu schreiben, das dir nicht gehört. Die Antwort ist nicht sudo, sondern wieder eine virtuelle Umgebung; notfalls tut es pip install --user paketname. Mit sudo installierte Pakete landen als root im System und erzeugen später Rechteprobleme, die schwerer zu finden sind als die ursprüngliche Meldung.

pip selbst ist zu alt. In einer aktivierten Umgebung hebt python -m pip install --upgrade pip die Version an. Außerhalb einer Umgebung solltest du das unterlassen und stattdessen das Paket deiner Distribution aktualisieren. Wenn du dir das dauerhaft abgewöhnen willst: pip kennt die Option --require-virtualenv, „allow pip to only run in a virtual environment; exit with an error otherwise“. Als Umgebungsvariable PIP_REQUIRE_VIRTUALENV=1 in der Shell-Konfiguration gilt sie für jeden Aufruf. Wie du so etwas dauerhaft ablegst, steht in unserem Artikel zu Aliasen in der Shell.

Fazit

Drei Dinge bleiben hängen. Erstens: Prüfe mit python3 -m pip --version, bevor du irgendetwas installierst – oft ist pip längst da. Zweitens: Fehlt er, versuch es mit ensurepip oder der Paketverwaltung, bevor du zu get-pip.py greifst. Drittens, und das ist die Gewohnheit, die am meisten spart: Jedes Projekt bekommt sein eigenes python3 -m venv .venv. Dann geht auch externally-managed-environment niemanden mehr etwas an.

FAQ

Was macht pip in Python?

pip installiert Python-Pakete aus dem Python Package Index (PyPI) und löst deren Abhängigkeiten mit auf. Der Name ist ein rekursives Akronym für „Pip Installs Packages“.

Der übliche Aufruf lautet python3 -m pip install paketname. Entfernen lässt sich ein Paket mit pip uninstall paketname – mitinstallierte Abhängigkeiten bleiben dabei stehen und müssen einzeln entfernt werden. pip list zeigt den Bestand der aktiven Umgebung, pip show paketname die Angaben zu einem einzelnen Paket, pip check meldet unerfüllte Abhängigkeiten.

Für ein ganzes Projekt schreibt pip freeze > requirements.txt den Bestand in eine Datei; pip install -r requirements.txt stellt ihn in einer anderen Umgebung wieder her.

Wie führe ich pip aus?

Über das Terminal beziehungsweise die Eingabeaufforderung. Prüfe zuerst mit python3 -m pip --version, ob pip für den gewünschten Interpreter vorhanden ist; unter Windows mit py -m pip --version.

Die Schreibweise python3 -m pip ist dem bloßen pip vorzuziehen, weil sie festlegt, zu welcher Python-Installation der Aufruf gehört. Auf Systemen mit mehreren Python-Versionen ist die Verwechslung der häufigste Grund dafür, dass ein Paket zwar installiert wird, beim Import aber fehlt.

Eine feste Version installierst du mit pip install requests==2.34.2, eine Untergrenze mit pip install "requests>=2.30". pip install --help listet alle Optionen auf.

Wie installiert man Python mit pip?

Gar nicht – die Richtung stimmt nicht. pip ist ein Werkzeug innerhalb einer Python-Installation und kann Python nicht selbst installieren. Gemeint ist meist die umgekehrte Frage: Wie kommt pip zu Python?

Python holst du von python.org oder über die Paketverwaltung deines Systems. Die Installationsprogramme von python.org bringen pip mit; unter Windows solltest du dabei „Add Python to PATH“ auswählen. Unter Debian und Ubuntu installierst du python3, python3-pip und python3-venv über apt.

Danach prüfst du mit python3 --version und python3 -m pip --version, ob beides zusammengehört. Die Schritte zeigt auch dieses Video.

Wofür steht pip in Python?

Für „Pip Installs Packages“ – ein rekursives Akronym, das sich selbst enthält.

Wichtiger als der Name ist, woran pip hängt: nicht am Betriebssystem, sondern an genau einer Python-Installation. Jede virtuelle Umgebung bringt ihr eigenes pip und ihren eigenen Paketbestand mit. Deshalb liefert pip list in zwei Projektverzeichnissen zwei verschiedene Listen, und deshalb räumt python3 -m pip die meisten Verwechslungen aus.

Seit Python 3.4 gehört pip zum mitgelieferten Werkzeugkasten: Das Modul ensurepip der Standardbibliothek spielt es bei Bedarf ein, und python3 -m venv ruft dieses Modul beim Anlegen einer Umgebung von sich aus auf.