Ich habe gerade ein Modul fertiggestellt und möchte es packen. Ich habe die Dokumentation und diese Frage packaging a python application gelesen, aber ich bin mir nicht sicher, wie ich vorgehen soll, wenn ich kein zu importierendes Paket, sondern ein Skript zum Starten habe.Verpacken einer Python-Bibliothek mit einer ausführbaren Datei
Das Projekt sieht wie folgt aus:
Project/
|-- README
|-- requirement.txt
|-- driver.py
|-- run.py
|-- module_1
| |-- __init__.py
| |-- class_1.py
| |-- class_2.py
|-- module 2
|-- |-- __init__.py
|-- |-- class_1.py
|-- |-- class_2.py
Um das Werkzeug, das ich tun, um zu starten:
python run.py arg1 --option arg2
driver.py
importiert alle anderen Module und definiert eine Driver
Klasse und einige Funktionen. run.py
importiert driver.py
, analysiert Argumente, richtet den Logger ein und ruft die Funktion nacheinander auf, um den Job zu erledigen.
Ich bin mir nicht sicher über die Konfiguration von setup.py
, brauche ich auch eine globale __init__.py
an der Wurzel? Von dem, was ich verstanden habe, werde ich nur import Project
tun können, um das Skript run.py
mit seinen Argumenten nicht zu starten.
Aus anderen Lesungen, vielleicht sollte ich versuchen, die entry_points
Möglichkeit setup()
zu sagen, dass Driver.py
das Paket und zu verwenden. Aber ich verstehe nicht, wie ich alles richtig machen soll.
Vielen Dank für Ihre freundliche Hilfe!
Danke @Abel, das ist mir jetzt klar! Werde dies bei der Arbeit Montag versuchen! Gibt es einen Vorteil, eine Lösung gegenüber der anderen zu verwenden? Der erste scheint klarer zu sein, denke ich. – Y0da