Zum Inhalt springen

Eintrag 004

PyPI: woher pip install deine Python-Pakete holt

Thema
Python
Veröffentlicht
Lesezeit
7 Min.
Getestet mit
Python 3.14.4, pip 26.0.1, pygame-ce 2.5.8 (macOS)

PyPI, der Python Package Index, ist das offizielle Verzeichnis für Python-Pakete unter pypi.org (öffnet in neuem Tab). Wenn du pip install pygame-ce eintippst, sucht pip das Paket dort, lädt es herunter und installiert es. Jeder mit einem Konto kann dort Pakete veröffentlichen, und jedes Paket hat seine eigene Lizenz.

Was ist PyPI?

PyPI ist ein Software-Verzeichnis für Python. Betrieben wird es von der Python Software Foundation, der gemeinnützigen Organisation hinter Python. Auf der Startseite steht, wie viel dort liegt: Am 14.10.2026 waren es 915.374 Projekte.

Startseite von pypi.org auf Deutsch: Überschrift „Finde, installiere und veröffentliche Python-Pakete mit dem Python Package Index“, darunter das Suchfeld und die Zahlen 915.374 Projekte, 9.873.071 Veröffentlichungen, 22.023.506 Dateien und 1.127.120 Benutzer
Abb. 01 Die Startseite von PyPI am 14.10.2026

Ich bin auf die Seite gestoßen, als ich wissen wollte, woher meine Pakete eigentlich kommen. Gezielt gesucht habe ich dort nicht, eher gestöbert, was es alles gibt. PyPI gibt es auch auf Deutsch, die Sprache stellst du oben rechts um.

Die Pakete schreibt nicht die Python Software Foundation. Hochladen kann jeder Entwickler, der ein Konto mit bestätigter E-Mail-Adresse hat. Deshalb gibt es so viele Pakete, und deshalb lohnt sich vor dem Installieren ein Blick auf die Projektseite.

Was passiert bei pip install?

In Tutorials heißt es meist nur „wir brauchen dies und importieren das“. Woher die Pakete kommen und was pip install dabei macht, erklärt kaum jemand. Ich habe pip lange einfach benutzt, wenn es irgendwo stand, zum Beispiel bei Pygame CE oder Flet.

pip ist der Paketmanager, PyPI ist das Lager. pip läuft auf deinem Rechner, PyPI im Netz. Ohne weitere Angaben fragt pip immer bei PyPI an.

Ich installiere Pakete immer in einer virtuellen Umgebung, damit sie nur im jeweiligen Projekt landen. Wie das geht, steht in meinem Beitrag zu Python venv. Ist die venv aktiv, installierst du so:

Code 01 · Terminal
python -m pip install pygame-ce

Das python -m davor sorgt dafür, dass das pip des Pythons läuft, das gerade aktiv ist. pip install pygame-ce funktioniert in einer aktiven venv genauso. Dabei passieren drei Dinge:

  1. pip fragt PyPI nach dem Paket pygame-ce und nimmt die neueste Version.
  2. Es sucht sich die passende Datei aus. Für Version 2.5.8 liegen 47 Dateien auf PyPI, für verschiedene Systeme und Python-Versionen. Auf meinem Mac mit Python 3.14 war es pygame_ce-2.5.8-cp314-cp314-macosx_10_15_universal2.whl.
  3. Braucht das Paket weitere Pakete, holt pip sie gleich mit. Bei pygame-ce sind es keine, bei requests kommen vier weitere dazu.

Was installiert ist und woher es stammt, zeigt dir pip show:

Code 02 · Terminal
python -m pip show pygame-ce
Text
Name: pygame-ce
Version: 2.5.8
Summary: Python Game Development
Home-page: https://pyga.me
Author: A community project
Author-email: 
License: LGPL v2.1
Location: …/.venv/lib/python3.14/site-packages
Requires: 
Required-by: 

Den Pfad bei Location habe ich gekürzt. Er zeigt in den Ordner .venv deines Projekts. Requires ist leer, weil pygame-ce keine weiteren Pakete braucht. Die Angaben stammen aus denselben Paketdaten, die auch die Projektseite auf PyPI zeigt.

Warum heißt das Paket anders als der Import?

Der Name auf PyPI und der Name im Code müssen nicht gleich sein. Bei Pygame CE installierst du pygame-ce, im Code schreibst du aber import pygame:

Code 03 · Python
import pygame

print(pygame.version.ver)
Ausgabe
pygame-ce 2.5.8 (SDL 2.32.10, Python 3.14.4)
2.5.8

Die erste Zeile gibt Pygame CE beim Import von selbst aus, die zweite kommt vom print(). Welcher Name in den Import gehört, steht in der Doku des Pakets. Bei Pygame CE ist das die Doku auf pyga.me (öffnet in neuem Tab). Raten ist keine gute Idee, denn unter einem ähnlichen Namen kann auf PyPI ein ganz anderes Paket liegen.

Was steht auf einer PyPI-Projektseite?

Jedes Paket hat auf PyPI eine eigene Seite. Die von Pygame CE liegt unter pypi.org/project/pygame-ce (öffnet in neuem Tab). Oben stehen der Name, die aktuelle Version und der Befehl zum Installieren. Mit dem Knopf daneben kopierst du ihn.

Kopf der PyPI-Seite von pygame-ce 2.5.8 mit dem Befehl pip install pygame-ce zum Kopieren, den Reitern Description, Release files und Veröffentlichungs-Historie und rechts den Projekt-Links zu Bug Reports, Release Notes, Source, Documentation und homepage
Abb. 02 Projektseite von pygame-ce auf PyPI

Links steht die Beschreibung, die das Projekt selbst geschrieben hat. Bei Pygame CE ist das zugleich eine kurze Anleitung zur Installation. In der Seitenleiste rechts stehen die Angaben, mit denen du ein Paket einschätzt:

  • Projekt-Links: Doku, Quellcode auf GitHub, Release Notes und wo man Fehler meldet
  • Key dates: wann die aktuelle Version erschienen ist
  • GitHub-Statistiken: Sterne, Forks, offene Issues
  • License: unter welcher Lizenz du das Paket nutzen darfst
  • Requires: welche Python-Version mindestens nötig ist, bei Pygame CE 3.10
Seitenleiste der PyPI-Seite von pygame-ce: Released 9. Aug. 2026 mit dem Hinweis „Neueste Version“, darunter die Maintainer (unkenntlich gemacht), Credits, GitHub-Statistiken mit 1690 Stars und 286 Forks und die Lizenz LGPL v2.1
Abb. 03 Erscheinungsdatum, GitHub-Statistiken und Lizenz

Die Namen der Maintainer habe ich im Bild unkenntlich gemacht. Auf PyPI siehst du sie mit Link zu ihren Profilen.

Über den Reiter „Veröffentlichungs-Historie“ kommst du zu allen Versionen mit Datum. Ich schaue meistens auf die Version, entweder hier auf PyPI oder auf GitHub. Am Datum der letzten Version siehst du, ob an einem Paket noch gearbeitet wird.

Veröffentlichungs-Historie von pygame-ce auf PyPI: 2.5.8 vom 9. Aug. 2026, 2.5.7 vom 2. März 2026, 2.5.6 vom 19. Okt. 2025, dazwischen als Pre-Release markierte Vorabversionen
Abb. 04 Alle Versionen von pygame-ce mit Datum

Versionen mit dem Hinweis „Pre-Release“ sind Vorabversionen zum Testen. pip installiert sie nur, wenn du es ausdrücklich verlangst.

Ist jedes Paket auf PyPI sicher?

Nein. PyPI prüft Pakete nicht, bevor sie veröffentlicht werden. Die Administratoren greifen ein, wenn ein Verdacht gemeldet wird, und können ein Paket dann in Quarantäne nehmen. So steht es in der Hilfe von PyPI (öffnet in neuem Tab).

Auch „Data verified by PyPI“ in der Seitenleiste ist kein Prüfsiegel für den Code. Laut Doku zu den Projektangaben (öffnet in neuem Tab) heißt es nur, dass der Inhaber des Pakets den Link beim Hochladen kontrolliert hat. Bei Pygame CE heißt das: Wer die Version hochgeladen hat, hatte zu diesem Zeitpunkt auch Zugriff auf das verlinkte GitHub-Repository.

Ärger mit einem Paket hatte ich bisher nicht. Ein paar Dinge helfen trotzdem:

  • Den Paketnamen aus der offiziellen Doku oder von der Projektseite kopieren, nicht abtippen. Ein Tippfehler kann ein anderes Paket installieren.
  • Auf das Datum der letzten Version schauen. Ist sie Jahre alt, läuft das Paket mit einer neuen Python-Version vielleicht nicht mehr.
  • Den Link zum Quellcode öffnen. Ein Projekt mit GitHub-Seite, Doku und Release Notes ist leichter einzuschätzen als eines ohne.

Darf ich jedes Paket frei nutzen?

Nicht ohne Weiteres. Jedes Paket hat seine eigene Lizenz, und auf PyPI siehst du schnell, dass es da viele verschiedene gibt. Die Lizenz steht in der Seitenleiste unter „License“ und bei pip show in der Zeile License.

Pygame CE steht unter der LGPL 2.1. Das Projekt fasst es selbst so zusammen: „you can use pygame in any project you want“. Änderungen an Pygame CE selbst musst du aber mit einer passenden Lizenz wieder veröffentlichen. Andere Lizenzen wie MIT oder BSD erlauben noch mehr, manche verlangen mehr.

Wichtig wird das, wenn du ein Spiel weitergeben oder verkaufen willst. Dann lies vorher die Lizenzen der Pakete, die du benutzt.

Kann ich selbst ein Paket auf PyPI hochladen?

Ja, theoretisch kann das jeder Entwickler. Ich habe es noch nicht gemacht. Du brauchst ein Konto mit bestätigter E-Mail-Adresse und ein Projekt mit einer pyproject.toml. Wie du es baust und hochlädst, zeigt die offizielle Anleitung Packaging Python Projects (öffnet in neuem Tab).

Was pip install sonst noch kann, etwa eine bestimmte Version holen, steht in der Doku zu pip install (öffnet in neuem Tab). Mehr zu Python findest du auf meiner Python-Seite.

Häufige Fragen

Wofür steht PyPI?

PyPI steht für Python Package Index, also Paketverzeichnis für Python. Die Seite liegt unter pypi.org und wird von der Python Software Foundation betrieben. Nicht verwechseln mit PyPy, das ist ein anderer Python-Interpreter.

Sind pip und PyPI dasselbe?

Nein. PyPI ist das Verzeichnis im Netz, in dem die Pakete liegen. pip ist das Programm auf deinem Rechner, das die Pakete dort sucht, herunterlädt und installiert. Ohne weitere Angaben fragt pip immer bei PyPI an.

Hat dir der Beitrag geholfen?

Fehler gefunden oder eine Frage zum Code? Schreib einen Kommentar oder eine E-Mail.

Kommentare

Du brauchst kein Konto. Name und E-Mail sind freiwillig, die E-Mail-Adresse wird nicht angezeigt. Ich lese jeden Kommentar, bevor er erscheint. Mehr dazu im Datenschutz.

Mehr zu Python