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)