Supponiamo di avere un'utile funzione o classe python (o qualunque altra cosa) useful_thing
che esista in un singolo file. Esistono essenzialmente due modi per organizzare l'albero dei sorgenti. Il primo modo utilizza un singolo modulo:
- setup.py
- README.rst
- ...etc...
- foo.py
dove useful_thing
è definito in foo.py
. La seconda strategia è quella di creare un pacchetto:
- setup.py
- README.rst
- ...etc...
- foo
|-module.py
|-__init__.py
dove useful_thing
è definito in module.py
. Nel caso del pacchetto __init__.py
sarebbe simile a questo
from foo.module import useful_thing
in modo che in entrambi i casi tu possa fare from foo import useful_thing
.
Domanda: quale modo è preferito e perché?
EDIT: Poiché l'utente gnat afferma che questa domanda è scarsamente formata, aggiungerò che il tutorial ufficiale sul packaging in python non sembra commentare quale dei metodi sopra descritti è quello preferito. Sto esplicitamente non dando la mia lista personale dei pro e dei contro perché sono interessati a sapere se c'è un metodo comunitario preferito, non generando una discussione di pro / contro :)