Ein Paket ist ein Verzeichnis mit einem __init__.py
darin. Der Unterschied zu einem Verzeichnis besteht darin, dass Sie es importieren können.
Es gibt an sich keinen "Python-Weg", aber Sie werden feststellen, dass es eine gute Idee ist, alle Ihre Module in einem Paket mit einem projektbezogenen Namen zusammenzufassen.
Um dem Python-Styleguide PEP8 zu folgen, sollten die Paket- und Modulnamen in Kleinbuchstaben angegeben werden. Wenn wir also annehmen, dass das Projekt "Botond Statistics" heißt, würde Ihre Struktur ungefähr so aussehen:
botondstats/
indicators/
moving_averages.py
stochastics.py
strategies/
moving_averages_cross.py
example.py
Sie würden dann die Stochastik-Klasse finden, indem Sie dies tun
from botondstats.indicators.stochastics.Stochastics
(Es gibt verschiedene Möglichkeiten, die Struktur beizubehalten, aber die Importe zu verkürzen, aber das ist eine andere Frage).
Sie können diese Struktur unterstellen, src/
wenn Sie möchten, dies ist jedoch nicht erforderlich. Ich mache nie. Stattdessen habe ich ein Hauptverzeichnis:
BotondStatistics/
docs/
botonstats/
setup.py
In diesem Verzeichnis habe ich normalerweise auch eine virtuelle Umgebung, also habe ich tatsächlich auch bin / lib / et al. Die Entwicklung erfolgt normalerweise durch Ausführen
./bin/python setup.py tests
Da benutze ich den Distrubute Test Runner um die Tests durchzuführen.
So mach ich es. :-)