Wir haben zahlreiche Projekte in unserer Organisation, die gemischt Python/C sind. Derzeit versuchen wir, ein Verzeichnislayout für unsere Projekte zu standardisieren und versuchen, ein komfortables Schema zu finden. Ein Streitpunkt ist, wo C-Erweiterungsmodule in den Baum eingefügt werden sollen.Verzeichnis-Layout für ein Python-Projekt mit C-Erweiterungsmodulen
Wir werfen ein paar Optionen um (relative Wurzel zu projizieren):
./src/package/subpackage/module.c
oder neben den Python-Modulen im Paketbaum:
./package/subpackage/module.c
oder in einem src
Verzeichnis in das Unterpaket:
./package/subpackage/src/module.c
Ein Grund dafür, sie aus dem Paketdirektor herauszuhalten Dies kann sein, weil es zu Unordnung führt, besonders wenn es andere .c und .h Dateien gibt, die selbst keine Module sind, aber trotzdem kompiliert werden müssen. Was machen Sie im "integrierten" Schema auch mit Headern und Dateien, die von mehr als einem Modul verwendet werden? Legen Sie sie in ein gemeinsames Verzeichnis der obersten Ebene?
Ich wäre interessiert zu wissen, was andere Leute verwenden, oder wenn es Best Practices dafür gibt.
Wenn es Neuigkeiten zu diesem Thema gibt, würde ich mich freuen zu hören. –