Python-Module installieren

E-Mail:

distutils-sig@python.org

Als beliebtes Open-Source-Entwicklungsprojekt verfügt Python über eine aktive Gemeinschaft von Mitwirkenden und Benutzern, die ihre Software auch anderen Python-Entwicklern unter Open-Source-Lizenzbedingungen zur Verfügung stellen.

Dies ermöglicht es Python-Benutzern, effektiv zu teilen und zusammenzuarbeiten, indem sie von den Lösungen profitieren, die andere bereits für gängige (und manchmal auch seltene!) Probleme geschaffen haben, sowie potenziell eigene Lösungen zum gemeinsamen Pool beizusteuern.

Diese Anleitung behandelt den Installationsaspekt des Prozesses. Für eine Anleitung zur Erstellung und Weitergabe eigener Python-Projekte verweisen wir auf die Python Packaging Benutzerhandbuch.

Hinweis

Für Unternehmen und andere institutionelle Benutzer ist zu beachten, dass viele Organisationen ihre eigenen Richtlinien für die Nutzung und die Beiträge zu Open-Source-Software haben. Bitte berücksichtigen Sie solche Richtlinien bei der Nutzung der mit Python bereitgestellten Verteilungs- und Installationstools.

Schlüsselbegriffe

  • pip ist das bevorzugte Installationsprogramm. Seit Python 3.4 ist es standardmäßig in den binären Python-Installern enthalten.

  • Eine virtuelle Umgebung ist eine semi-isolierte 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 zur Erstellung virtueller Umgebungen und ist seit Python 3.3 Teil von Python. Seit Python 3.4 installiert es standardmäßig pip in alle erstellten virtuellen Umgebungen.

  • virtualenv ist eine alternative Drittanbieterlösung (und Vorgänger) von venv. Sie ermöglicht die Verwendung virtueller Umgebungen in Python-Versionen vor 3.4, die entweder venv gar nicht bereitstellen oder pip nicht automatisch in erstellte Umgebungen installieren können.

  • Der Python Package Index ist ein öffentliches Repository von Open-Source-lizenzierten Paketen, die für die Nutzung durch andere Python-Benutzer verfügbar gemacht werden.

  • Die Python Packaging Authority ist die Gruppe von Entwicklern und Dokumentationsautoren, die für die Wartung und Weiterentwicklung der Standard-Packaging-Tools und der zugehörigen Metadaten- und Dateiformatstandards verantwortlich ist. Sie unterhalten verschiedene Tools, Dokumentationen und Issue Tracker auf GitHub.

  • distutils ist das ursprüngliche Build- und Verteilungssystem, das erstmals 1998 in die Python-Standardbibliothek aufgenommen wurde. Obwohl die direkte Verwendung von distutils ausläuft, hat es dennoch die Grundlage für die aktuelle Packaging- und Distributionsinfrastruktur gelegt und ist nicht nur weiterhin Teil der Standardbibliothek, sondern sein Name lebt auch auf andere Weise weiter (z. B. der Name der Mailingliste, die zur Koordinierung der Entwicklung von Python-Packaging-Standards verwendet wird).

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

Grundlegende Verwendung

Die Standard-Packaging-Tools sind alle für die Verwendung über die Kommandozeile konzipiert.

Der folgende Befehl installiert die neueste Version eines Moduls und seine Abhängigkeiten vom Python Package Index

python -m pip install SomePackage

Hinweis

Für POSIX-Benutzer (einschließlich macOS- und Linux-Benutzer) gehen die Beispiele in dieser Anleitung von der Verwendung einer virtuellen Umgebung aus.

Für Windows-Benutzer gehen die Beispiele in dieser Anleitung davon aus, dass die Option zum Anpassen der System PATH-Umgebungsvariablen bei der Installation von Python ausgewählt wurde.

Es ist auch möglich, eine exakte oder Mindestversion direkt über die Kommandozeile anzugeben. Bei Verwendung von Vergleichsoperatoren wie >, < oder anderen Sonderzeichen, die von der Shell interpretiert werden, sollten der Paketname und die Version in doppelte Anführungszeichen gesetzt werden.

python -m pip install SomePackage==1.0.4    # specific version
python -m pip install "SomePackage>=1.0.4"  # minimum version

Normalerweise hat der Versuch, ein passendes Modul erneut zu installieren, keine Auswirkung, wenn es bereits installiert ist. Das Upgrade vorhandener Module muss explizit angefordert werden.

python -m pip install --upgrade SomePackage

Weitere Informationen und Ressourcen zu pip und seinen Fähigkeiten finden Sie im Python Packaging Benutzerhandbuch.

Die Erstellung virtueller Umgebungen erfolgt über das venv-Modul. Die Installation von Paketen in eine aktive virtuelle Umgebung erfolgt mit den oben gezeigten Befehlen.

Wie kann ich …?

Dies sind schnelle Antworten oder Links für einige häufige Aufgaben.

pip in Python-Versionen vor Python 3.4 installieren?

Python begann erst ab Python 3.4 mit der Bündelung von pip. Für frühere Versionen muss pip gemäß dem Python Packaging Benutzerhandbuch "bootstrapped" werden.

… 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 und nicht für alle Benutzer des Systems.

… wissenschaftliche Python-Pakete installieren?

Eine Reihe von wissenschaftlichen Python-Paketen haben komplexe binäre Abhängigkeiten und sind derzeit nicht einfach direkt mit pip zu installieren. Zu diesem Zeitpunkt ist es für Benutzer oft einfacher, diese Pakete auf andere Weise zu installieren, anstatt zu versuchen, sie mit pip zu installieren.

… mit mehreren parallel installierten Python-Versionen arbeiten?

Unter Linux, macOS und anderen POSIX-Systemen verwenden Sie die versionierten Python-Befehle in Kombination mit dem Schalter -m, um die entsprechende Kopie von pip auszuführen.

python2   -m pip install SomePackage  # default Python 2
python2.7 -m pip install SomePackage  # specifically Python 2.7
python3   -m pip install SomePackage  # default Python 3
python3.4 -m pip install SomePackage  # specifically Python 3.4

Geeignete versionierte pip-Befehle können ebenfalls verfügbar sein.

Unter Windows verwenden Sie den Python-Launcher py in Kombination mit dem Schalter -m.

py -2   -m pip install SomePackage  # default Python 2
py -2.7 -m pip install SomePackage  # specifically Python 2.7
py -3   -m pip install SomePackage  # default Python 3
py -3.4 -m pip install SomePackage  # specifically Python 3.4

Häufige Installationsprobleme

Installation in das System-Python unter Linux

Auf Linux-Systemen ist eine Python-Installation typischerweise Teil der Distribution. Die Installation in diese Python-Installation erfordert Root-Zugriff auf das System und kann den Betrieb des System-Paketmanagers und anderer Systemkomponenten stören, wenn eine Komponente unerwartet mit pip aktualisiert wird.

Auf solchen Systemen ist es oft besser, eine virtuelle Umgebung oder eine benutzerspezifische Installation zu verwenden, wenn Pakete mit pip installiert werden.

Pip 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 auch zusätzliche Ressourcen für die Installation von pip.

Installation von Binär-Erweiterungen

Python stützte sich typischerweise stark auf quellcodebasierte Distributionen, wobei erwartet wurde, dass Endbenutzer Erweiterungsmodule als Teil des Installationsprozesses aus dem Quellcode kompilieren.

Mit der Einführung der Unterstützung für das binäre wheel-Format und der Möglichkeit, Wheels für mindestens Windows und macOS über den Python Package Index zu veröffentlichen, wird erwartet, dass dieses Problem im Laufe der Zeit abnimmt, da Benutzer häufiger vortrainierte Erweiterungen installieren können, anstatt sie selbst erstellen zu müssen.

Einige der Lösungen für die Installation von wissenschaftlicher Software, die noch nicht als vortrainierte wheel-Dateien verfügbar sind, können auch dabei helfen, andere binäre Erweiterungen zu erhalten, ohne sie lokal kompilieren zu müssen.