Ich entwickle ein Django-Projekt, mit Git für das Code-Management. Das Hauptprojekt hat eine Reihe von Apps als Submodule, die jeweils unabhängig voneinander genutzt werden können, also jeweils in separaten Git-Repos. Alle diese Apps sind in der Entwicklung, und mindestens eine wird von einem anderen Projekt gespalten. Diese Apps sind über Pip installierbar, beim Klonen des Repos befinden sich setup.py und README usw. im root, dann die eigentliche App in einem Unterordner.Wie entwickelt man mehrere Pip-Pakete in einem Git-Projekt?
Wenn ich die App (n) installiere, wird sich der Arbeitscode an einem anderen Ort als der Ordner unter git management befinden, so dass ich jedes Mal, wenn ich den Code ändere, pip install
(oder gibt es einen anderen pip Befehl dafür?), um den Code zu aktualisieren, wo Python es sucht
Ich könnte pip install -e
verwenden, um die obige Situation zu verhindern. Allerdings müsste ich dann jede App in separate Ordner klonen: Ich kann die Apps nicht einfach in project/apps
klonen und habe project/apps/foo
und project/apps/bar
, da beide versuchen würden, ihre setup.py in project/apps
fallen zu lassen. Stattdessen müsste ich foo in project/apps/foo
klonen, aber dann ist der tatsächliche Code in project/apps/foo/foo
. Das erscheint mir hässlich und nicht sehr django-isch.
Gibt es eine andere, schönere Art zu tun, was ich versuche zu tun?
Ich bin ein wenig verwirrt - Sie sollten entweder diese Anwendungen mit 'pip' installieren oder die Anwendungen direkt klonen und sie verwenden. In fast allen Fällen verwenden Sie entweder ein Submodul oder einen Pip (wahrscheinlich durch eine Anforderungsdatei), aber nicht beides. –