HOWTO · Python
Egg-Datei in Python installieren
Dieses Tutorial beschreibt, wie Sie die .egg-Datei in Python installieren und die Tools, die für den Vorgang erforderlich sind.
Auf dieser Seite
Eine Python-.egg-Datei ist ein älteres Distributionsformat, das mit setuptools verbunden ist. Wheels (.whl) sind das neuere Format und für neue Projekte die bessere Wahl. Wenn Sie eine vorhandene Egg-Datei verwenden müssen, prüfen Sie zuerst, welche Python-Version und Plattform sie unterstützt. Allein die Dateiendung belegt keine Kompatibilität.
Eine .egg-Datei in Python mit setuptools installieren
Früher stellte setuptools den Befehl easy_install zum Installieren von Eggs bereit. Die folgenden Windows-Anweisungen beschreiben einen Arbeitsablauf aus der Python-2.7-Zeit und kein allgemeines Verfahren für aktuelle Python-Installationen. Verwenden Sie ihn nur in einer älteren Umgebung, in der setuptools und easy_install für den Zielinterpreter bereits verfügbar sind und die Egg-Datei für eine kompatible Python-Version und Plattform erstellt wurde.
In einer solchen Umgebung lautet die Befehlsform easy_install path\\to\\package.egg. Führen Sie den Befehl in einer Eingabeaufforderung aus, in der das Verzeichnis Scripts des vorgesehenen Interpreters über PATH erreichbar ist, oder rufen Sie die passende easy_install.exe mit ihrem vollständigen Pfad auf. Eine Einstellung wie PYTHON_PATH sorgt unter Windows nicht dafür, dass ausführbare Dateien gefunden werden; PATH ist die Variable für die Suche nach ausführbaren Dateien. Verwenden Sie einen alten Bootstrap-Download nicht als aktuelle Installationsanweisung.
Der Dateiname delftscope-0.1-py3.10.egg deutet auf einen Build für Python 3.10 hin. Daraus geht nicht hervor, dass sich das Paket mit Python 2.7 installieren lässt; außerdem enthält das bereitgestellte Material keinen Kompatibilitätsnachweis für dieses Beispiel. Betrachten Sie es daher nur als Veranschaulichung: Kombinieren Sie es nicht mit dem Python-2.7-Verfahren und versprechen Sie keinen erfolgreichen Ablauf, solange keine geeignete Quelle die Kompatibilität belegt. Auch erwartete Befehlsausgaben sollten Sie nur angeben, wenn sie hinreichend belegt sind; andernfalls lassen Sie sie weg. Wenn sich Zielinterpreter, Plattform oder Befehlsverhalten nicht feststellen lassen, beschränken Sie die Anweisungen auf die überprüfte Umgebung oder kennzeichnen Sie das Verfahren klar als historisch und nicht verifiziert.
Bei neuen Projekten sollten Sie statt easy_install einen kompatiblen Wheel im unterstützten pip-Arbeitsablauf des Projekts installieren.
Eine .egg-Datei untersuchen und durch Entpacken installieren
Eine gezippte .egg-Datei ist ein ZIP-Archiv. Ein Archivprogramm kann dessen Inhalt daher auflisten oder entpacken. Auf einem System mit unzip listet unzip -l package.egg den Archivinhalt auf, entpackt aber keine Dateien. Um das Archiv in ein separates Verzeichnis zu entpacken, verwenden Sie unzip package.egg -d extracted-package. Manche Eggs liegen bereits als entpackte Verzeichnisse statt als ZIP-Dateien vor. Auf ein Verzeichnis lässt sich unzip nicht anwenden; sehen Sie sich dessen Dateien direkt an.
Das folgende Python-Beispiel erstellt eine kleine ZIP-basierte .egg-Datei und gibt die Namen ihrer Einträge aus. Es veranschaulicht die Untersuchung eines Archivs mit der Standardbibliothek.
from pathlib import Path
from tempfile import TemporaryDirectory
from zipfile import ZIP_DEFLATED, ZipFile
with TemporaryDirectory() as temp_dir:
egg_path = Path(temp_dir) / "sample_package-1.0-py3-none-any.egg"
with ZipFile(egg_path, "w", ZIP_DEFLATED) as egg:
egg.writestr("sample_package/__init__.py", "VERSION = '1.0'\n")
egg.writestr("EGG-INFO/PKG-INFO", "Metadata-Version: 1.2\nName: sample-package\nVersion: 1.0\n")
with ZipFile(egg_path) as egg:
for name in egg.namelist():
print(name)
sample_package/__init__.py
EGG-INFO/PKG-INFO
Dieses minimale Archiv veranschaulicht die Untersuchung einer ZIP-Datei; es ist keine vollständige Paketinstallation. Wenn Sie eine vorhandene Egg-Datei entpacken möchten, sehen Sie sich zuerst die Dateien an. Führen Sie python setup.py install nur in dem Verzeichnis mit setup.py aus, und nur wenn diese Datei vorhanden ist, die Paketdokumentation dieses ältere Verfahren vorsieht und die ausgewählte Python-Umgebung kompatibel ist. Der Befehl führt vom Paket bereitgestellten Setup-Code aus. Verwenden Sie ihn daher nur bei einem Paket, dem Sie vertrauen. Ist keine setup.py vorhanden, installiert das Entpacken allein das Paket nicht; folgen Sie stattdessen der dokumentierten Anleitung des Pakets.