Sto sviluppando un progetto che utilizza diversi moduli indipendenti, ma tutti relativi allo stesso progetto.
Tuttavia, sono di fronte a questa scelta: i nomi dei moduli con underscore vs. namespaces.
Per esempio c'è questo albero:
Foo
|-Bar1
| |-Bar2
|-Foo1
| |-Foo2
| |-Foo3
Diciamo per esempio che Foo3 dipende da Bar2, ma Foo2 e Bar2 sono indipendenti.
Quali sono le migliori pratiche in materia di prestazioni e facilità di pacchettizzazione (a pypi) e leggibilità del codice:
utilizzando _
: Foo_Bar_Bar1
, Foo_Foo1_Foo2
e Foo_Foo1_Foo3
o utilizzando gli spazi dei nomi: Foo.Bar.Bar1
, Foo.Foo1.Foo2
e Foo.Foo1.Foo3
È più bello usare modulo e spazio dei nomi, ma su pip, i pacchetti indipendenti vengono salvati in posizioni diverse. Ho anche letto che c'è un bug quando si combina il pacchetto installato da pypi e il pacchetto modificabile che utilizza lo stesso spazio dei nomi
vedi anche: link
Inoltre, un altro problema dello spazio dei nomi è che Foo non può avere alcun contenuto e non può essere un pacchetto (un modulo dello spazio dei nomi deve contenere solo una dichiarazione dello spazio dei nomi) come letto qui: link (O non ho capito)