Einführung
Dieses Lab führt in das Skript setup.py ein, eine grundlegende Komponente für das Paketieren von Python-Projekten unter Verwendung der traditionellen Distutils-Bibliothek. Sie lernen dessen Zweck, Struktur und wie man es verwendet, um Ihre Python-Module installierbar zu machen. Am Ende dieses Labs werden Sie eine grundlegende setup.py-Datei erstellt und diese zur Installation eines einfachen Python-Pakets verwendet haben.
Einführung
In diesem Schritt werden Sie die Rolle des setup.py-Skripts als Zentrum aller Aktivitäten beim Erstellen, Verteilen und Installieren von Modulen mit Distutils verstehen.
Das Setup-Skript ist der Kern für das Erstellen, Verteilen und Installieren von Modulen unter Verwendung von Distutils. Sein Hauptzweck besteht darin, Ihre Modulverteilung für Distutils zu beschreiben, damit die verschiedenen Befehle, die auf Ihre Module angewendet werden, die richtigen Aktionen ausführen.
Die Datei setup.py steht im Mittelpunkt eines Python-Projekts. Sie beschreibt alle Metadaten zu Ihrem Projekt. Obwohl Sie viele Felder hinzufügen können, um reichhaltige Metadaten bereitzustellen, sind nur drei erforderlich:
name: Der Name Ihres Pakets. Dieser muss eindeutig sein, wenn Sie Ihr Paket im Python Package Index (PyPI) veröffentlichen möchten.version: Die aktuelle Version Ihres Pakets. Dies hilft Benutzern, zwischen verschiedenen Releases zu unterscheiden.packages: Eine Liste aller Python-Pakete, die in Ihrer Distribution enthalten sein sollen.
Sobald Sie eine setup.py-Datei haben, können Sie das Python-Paket einfach in Ihrer Umgebung installieren. Die empfohlene Methode ist die Verwendung von pip, um das Paket aus dem aktuellen Verzeichnis zu installieren. Führen Sie den folgenden Befehl in Ihrem Terminal aus demselben Verzeichnis wie die setup.py-Datei aus:
pip install .
Dieser Befehl übernimmt den Prozess des Erstellens und Installierens des Moduls, sodass es in anderen Python-Skripten importiert und verwendet werden kann. Im nächsten Schritt werden wir eine setup.py-Datei erstellen und diesen Befehl ausführen.
Beispiel
In diesem Schritt werden wir ein grundlegendes Beispiel für ein setup.py-Skript überprüfen und eines für unser Projekt erstellen. Dieses Beispiel wird die erforderlichen Felder sowie optionale Informationen wie die Lizenz und eine lange Beschreibung, die aus einer README.txt-Datei gelesen wird, enthalten.
Navigieren Sie zunächst in das für Sie vorbereitete Projektverzeichnis. Verwenden Sie den Datei-Explorer auf der linken Seite der IDE, um das Verzeichnis pythonCheatsheet zu sehen. Darin finden Sie ein Unterverzeichnis pipenv und eine Datei README.txt.
Erstellen Sie nun eine neue Datei mit dem Namen setup.py im Verzeichnis ~/project/pythonCheatsheet. Klicken Sie im Datei-Explorer auf den Ordner pythonCheatsheet, dann auf das Symbol „Neue Datei“ und benennen Sie diese als setup.py.
Kopieren Sie den folgenden Code und fügen Sie ihn in Ihre neu erstellte Datei setup.py ein:
## setup.py: define package metadata for distribution
from distutils.core import setup
setup(
name='pythonCheatsheet', ## Package name (must be unique on PyPI)
version='0.1', ## Version number
packages=['pipenv',], ## List of packages to include
license='MIT', ## License type
long_description=open('README.txt').read(), ## Read description from file
)
Lassen Sie uns dieses Skript aufschlüsseln:
from distutils.core import setup: Diese Zeile importiert die Funktionsetup, die der Haupteinstiegspunkt für das Skript ist.name='pythonCheatsheet': Definiert den Namen unseres Pakets.version='0.1': Legt die anfängliche Version fest.packages=['pipenv',]: Teilt Distutils mit, dass das einzuschließende Paket im Verzeichnispipenvliegt.license='MIT': Gibt die Lizenz an, unter der das Paket vertrieben wird.long_description=open('README.txt').read(): Liest den Inhalt vonREADME.txt, um eine detaillierte Beschreibung für das Paket bereitzustellen.
Nachdem die Datei setup.py fertig ist, öffnen Sie ein Terminal, indem Sie auf das +-Symbol im Terminal-Panel am unteren Rand der IDE klicken. Stellen Sie sicher, dass Ihr aktuelles Verzeichnis ~/project/pythonCheatsheet ist. Sie können dorthin navigieren, indem Sie cd ~/project/pythonCheatsheet ausführen.
Führen Sie den Installationsbefehl aus:
pip install .
Sie sehen eine Ausgabe im Terminal, während pip das Paket erstellt und installiert. Die Ausgabe wird etwa so aussehen und mit einer Bestätigung enden, dass das Paket installiert ist:
Processing /home/labex/project/pythonCheatsheet
Building wheels for collected packages: pythonCheatsheet
Building wheel for pythonCheatsheet (setup.py) ... done
Created wheel for pythonCheatsheet: pythonCheatsheet-0.1-py3-none-any.whl
Stored in directory: /tmp/pip-wheel-xxxxx
Successfully built pythonCheatsheet
Installing collected packages: pythonCheatsheet
Successfully installed pythonCheatsheet-0.1
Um die Installation zu bestätigen, können Sie pip verwenden, um installierte Pakete aufzulisten und nach Ihrem neuen Paket zu filtern:
pip list | grep pythonCheatsheet
Sie sollten Ihr Paket mit seiner Version aufgelistet sehen:
pythonCheatsheet 0.1
Herzlichen Glückwunsch! Sie haben erfolgreich eine setup.py-Datei erstellt und ein Python-Paket installiert.
Zusammenfassung
In diesem Lab haben Sie die grundlegende Rolle des setup.py-Skripts bei der Verteilung von Python-Projekten mithilfe von Distutils kennengelernt. Sie haben die wesentlichen Metadatenfelder behandelt, die für ein Paket erforderlich sind: name, version und packages. Schließlich haben Sie eine praktische setup.py-Datei erstellt, zusätzliche Metadaten wie license und long_description hinzugefügt und Ihr Paket erfolgreich mithilfe des Befehls pip install . in der lokalen Umgebung installiert. Sie verfügen nun über das Grundwissen, um Ihre eigenen Python-Projekte verteilbar zu machen.



