Post-Install-Skript-Integration mit Python-Setuptools
Die Integration von Post-Install-Skripten in Setuptools ermöglicht die Ausführung anpassbarer Aktionen bei der Paketinstallation. In diesem Artikel wird eine Lösung untersucht, die es Ihnen ermöglicht, ein Python-Skript in der Datei setup.py anzugeben, das nach einer Standardinstallation von setuptools ausgeführt werden soll.
Post-Install-Funktionalität zu setup.py hinzufügen
Um ein Post-Install-Skript zu definieren, fügen Sie benutzerdefinierte Befehlsklassen zu setup.py hinzu. Diese Klassen, PostDevelopCommand und PostInstallCommand, enthalten Ihr Post-Install-Skript oder Ihren Funktionsaufruf.
from setuptools import setup, Command class PostDevelopCommand(Command): user_options = [] def initialize_options(self): pass def finalize_options(self): pass def run(self): # Run your post-install script or function here class PostInstallCommand(Command): user_options = [] def initialize_options(self): pass def finalize_options(self): pass def run(self): # Run your post-install script or function here
Registrieren Sie in der Funktion setup() die benutzerdefinierten Befehlsklassen:
setup(... cmdclass={'develop': PostDevelopCommand, 'install': PostInstallCommand}, ... )
Überlegungen
Beachten Sie, dass diese Lösung nur funktioniert, wenn eine Quelldistribution oder im bearbeitbaren Modus von einer Quelle installiert wird Baum. Dies gilt nicht für Binärrad-Installationen (.whl).
Darüber hinaus können Sie separate Nachinstallationsaktionen für den Entwicklungs-/Bearbeitbaren Modus und den Installationsmodus in Betracht ziehen.
Alternative Ansätze
Neben der Änderung von setup.py können Sie auch einen Unterbefehl „install“ erstellen, wie in der ursprünglichen Frage erwähnt. Dieser Ansatz erfordert die Pflege einer separaten Datei, die möglicherweise nicht so transparent ist wie die hier vorgestellte Lösung.
Das obige ist der detaillierte Inhalt vonWie integriere ich Post-Install-Skripte mit Python-Setuptools?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!