Angenommen, ich habe eine nützliche Python-Funktion oder Klasse (oder was auch immer), useful_thing
die in einer einzelnen Datei existiert. Es gibt im Wesentlichen zwei Möglichkeiten, den Quellbaum zu organisieren. Der erste Weg verwendet ein einzelnes Modul:
- setup.py
- README.rst
- ...etc...
- foo.py
wo useful_thing
ist in definiert foo.py
. Die zweite Strategie besteht darin, ein Paket zu erstellen:
- setup.py
- README.rst
- ...etc...
- foo
|-module.py
|-__init__.py
wo useful_thing
ist in definiert module.py
. Im Paketfall __init__.py
würde das so aussehen
from foo.module import useful_thing
so dass Sie in beiden Fällen tun können from foo import useful_thing
.
Frage: Welcher Weg wird bevorzugt und warum?
BEARBEITEN: Da Benutzer gnat sagt, dass diese Frage schlecht formuliert ist, möchte ich hinzufügen, dass das offizielle Python-Paket-Tutorial nicht zu kommentieren scheint, welche der oben beschriebenen Methoden die bevorzugte ist. Ich gebe ausdrücklich nicht meine persönliche Liste der Vor- und Nachteile an, weil ich daran interessiert bin, ob es eine von der Community bevorzugte Methode gibt, und keine Diskussion über Vor- und Nachteile generiere :)