Installieren von Python-Modulen
*******************************

Als beliebtes Open-Source-Entwicklungsprojekt hat Python eine aktive
unterstützende Gemeinschaft von Mitwirkenden und Nutzern, die ihre
Software auch anderen Python-Entwicklern unter Open-Source-
Lizenzbedingungen zur Verfügung stellen.

Dies ermöglicht es Python-Nutzern, effektiv zusammenzuarbeiten und
sich auszutauschen; sie profitieren von Lösungen, die andere bereits
für häufige (und bisweilen sogar seltene!) Probleme entwickelt haben,
und können ihrerseits eigene Lösungen zu diesem gemeinsamen Pool
beisteuern.

Dieser Leitfaden behandelt den Installationsschritt des Prozesses. Für
eine Anleitung zum Erstellen und Teilen eigener Python-Projekte
beachte den Python Packaging User Guide.

Bemerkung:

  Für Unternehmen und andere institutionelle Nutzer: Bitte beachten
  Sie, dass viele Organisationen eigene Richtlinien zur Nutzung von
  und zur Mitarbeit an Open-die mit Python bereitgestellten Tools für
  Distribution und Installation verwenden.


Schlüsselbegriffe
=================

* **pip** ist das bevorzugte Installationsprogramm. Es ist
  standardmäßig in den Python-Binärinstallern enthalten.

* Eine *virtuelle Umgebung* ist eine teilisolierte Python-Umgebung,
  die es ermöglicht, Pakete für die Verwendung durch eine bestimmte
  Anwendung zu installieren, anstatt sie systemweit zu installieren.

* "venv" ist das Standardwerkzeug zum Erstellen virtueller Umgebungen.
  Standardmäßig installiert es **pip** in alle erstellten virtuellen
  Umgebungen.

* "virtualenv" ist eine Drittanbieter-Alternative (und ein Vorgänger)
  zu "venv".

* Der Python Package Index (PyPI) ist ein öffentliches Repository für
  Open-Source-lizenzierte Pakete, die für die Nutzung durch andere
  Python-Anwender bereitgestellt werden.

* Die Python Packaging Authority ist die Gruppe von Entwicklern und
  Dokumentationsautoren, die für die Pflege und Weiterentwicklung der
  Standard-Packaging-Tools sowie der zugehörigen Metadaten- und
  Dateiformatstandards verantwortlich ist. Sie pflegen eine Vielzahl
  von Tools, Dokumentationen und Issue-Trackern auf GitHub.

Geändert in Version 3.5: Die Verwendung von "venv" wird nun für das
Erstellen virtueller Umgebungen empfohlen.

Siehe auch:

  Python Packaging User Guide: Erstellen und Verwenden virtueller
  Umgebungen


Grundlegende Verwendung
=======================

Die Standard-Paketierungswerkzeuge sind alle für die Verwendung über
die Befehlszeile konzipiert.

Der folgende Befehl installiert die neueste Version eines Moduls und
dessen Abhängigkeiten von PyPI:

   python -m pip install SomePackage

Bemerkung:

  Für POSIX-Anwender (einschließlich macOS- und Linux-Nutzern) setzen
  die Beispiele in diesem Leitfaden die Verwendung einer *virtuellen
  Umgebung* voraus.Für Windows-Benutzer setzen die Beispiele in dieser
  Anleitung voraus, dass bei der Installation von Python die Option
  zur Anpassung der System-Umgebungsvariablen PATH ausgewählt wurde.

Es ist auch möglich, eine genaue oder minimale Version direkt auf der
Befehlszeile anzugeben. Bei Verwendung von Vergleichsoperatoren wie
">", "<" oder anderen „Sonderzeichen, die von der Shell interpretiert
werden, sollte der Paketname und “die Version in doppelten
Anführungszeichen gesetzt werden::“

   python -m pip install SomePackage==1.0.4    # speziische Version
   python -m pip install "SomePackage>=1.0.4"  # mindestens geforderte Version

Wenn ein geeignetes Modul bereits installiert ist, hat ein erneuter
Installationsversuch normalerweise keine Auswirkung. Die
Aktualisierung vorhandener Module muss ausdrücklich angefordert
werden:

   python -m pip install --upgrade SomePackage

Weitere Informationen und Ressourcen zu **pip** und dessen Funktionen
findest du im Python Packaging User Guide.

Virtuelle Umgebungen werden mithilfe des Moduls "venv" erstellt. Für
die Installation von Paketen in einer aktiven virtuellen Umgebung
werden die oben gezeigten Befehle verwendet.

Siehe auch:

  Python Packaging User Guide: Installation von Python-
  Distributionspaketen


Wie mach ich es ...?
====================

Dies sind schnelle Antworten oder Links für übliche Aufgaben.


... Pakete nur für den aktuellen Benutzer installieren?
-------------------------------------------------------

Die Übergabe der Option "--user" an "python -m pip install"
installiert ein Paket nur für den aktuellen Benutzer, anstatt für alle
Benutzer des Systems.


... wissenschaftliche Python-Pakete installieren?
-------------------------------------------------

Eine Reihe wissenschaftlicher Python-Pakete hat komplexe binäre
Abhängigkeiten und lässt sich derzeit nicht einfach direkt mit **pip**
installieren. Für Nutzer ist es oft einfacher, diese Pakete auf andere
Weise zu installieren, statt zu versuchen, sie mit **pip** zu
installieren.

Siehe auch:

  Python Packaging User Guide: Installation wissenschaftlicher Pakete
  <https://packaging.python.org/science/>“


...mit mehreren parallel installierten Python-Versionen arbeiten?
-----------------------------------------------------------------

Verwende unter Linux, macOS und anderen POSIX-Systemen die
versionierten Python-Befehle in Kombination mit dem Schalter "-m", um
die passende Kopie von **pip** auszuführen:

   python3    -m pip install SomePackage  # Standard-Python 3
   python3.14 -m pip install SomePackage  # speziell Python 3.14

Entsprechend versionierte Befehle für **pip** können ebenfalls
verfügbar sein.

Verwende unter Windows den Python-Launcher **py** in Kombination mit
dem Schalter "-m":

   py -3    -m pip install SomePackage  # Standard-Python 3
   py -3.14 -m pip install SomePackage  # speziell Python 3.14


Häufige Installationsprobleme
=============================


Installation in das System-Python unter Linux
---------------------------------------------

Unter Linux-Systemen ist eine Python-Installation typischerweise Teil
der Distribution. Eine Installation in diese Python-Installation
erfordert Root-Zugriff auf das System und kann den Betrieb des System-
Paketmanagers sowie anderer Systemkomponenten beeinträchtigen, falls
eine Komponente unerwartet mit **pip** aktualisiert wird.

Auf solchen Systemen ist es oft besser, beim Installieren von Paketen
mit **pip** eine virtuelle Umgebung oder eine benutzerbezogene
Installation zu verwenden.


Pip ist nicht installiert.
--------------------------

Es ist möglich, dass **pip** nicht standardmäßig installiert wird.
Eine mögliche Lösung ist:

   python -m ensurepip --default-pip

Es gibt außerdem zusätzliche Ressourcen zum Installieren von pip.


Installation von Binärerweiterungen
-----------------------------------

Python setzte früher stark auf quellcodebasierte Distribution, wobei
von Endnutzern erwartet wurde, Erweiterungsmodule als Teil des
Installationsprozesses aus dem Quellcode zu kompilieren.

Mit der Einführung des binären Wheel-Formats und der Möglichkeit,
Wheels über PyPI zu veröffentlichen, verringert sich dieses Problem,
da Nutzer immer öfter vorgefertigte Erweiterungen installieren können,
statt sie selbst erstellen zu müssen.

Einige der Lösungen zur Installation wissenschaftlicher Software, die
noch nicht als vorgefertigte Wheel-Dateien verfügbar ist, können auch
dabei helfen, andere binäre Erweiterungen zu erhalten, ohne sie lokal
erstellen zu müssen.

Siehe auch: Python Packaging User Guide: Binäre Erweiterungen
