Supposons que j'ai une fonction ou classe python utile (ou autre) appelée useful_thing
qui existe dans un seul fichier. Il existe essentiellement deux façons d'organiser l'arborescence source. La première façon utilise un seul module:
- setup.py
- README.rst
- ...etc...
- foo.py
où useful_thing
est défini dans foo.py
. La deuxième stratégie consiste à réaliser un package:
- setup.py
- README.rst
- ...etc...
- foo
|-module.py
|-__init__.py
où useful_thing
est défini dans module.py
. Dans le cas du package __init__.py
ressemblerait à ceci
from foo.module import useful_thing
de sorte que dans les deux cas, vous pouvez le faire from foo import useful_thing
.
Question: Quelle voie est préférée et pourquoi?
EDIT: Étant donné que l'utilisateur gnat dit que cette question est mal formée, j'ajouterai que le didacticiel officiel de l'empaquetage python ne semble pas commenter laquelle des méthodes décrites ci-dessus est la préférée. Je ne donne pas explicitement ma liste personnelle des avantages et des inconvénients, car je souhaite savoir s'il existe une méthode préférée par la communauté, sans générer de discussion sur les avantages / inconvénients :)