Seite 1 von 1
Django mit Mercurial
Verfasst: Donnerstag 4. Dezember 2008, 15:10
von würmchen
Hallo Leute,
wollte meine Änderungen mit Mercurial dokumentieren und naja, jetzt wollte ich zum ersten mal ein Projekt clonen und stoße da auf verschiedene Probleme.
Das alte Projekt hieß "bif" und war auch im Ordner bif...
ich bin dann immer in den ordner und hab da den development server gestartet...
jetzt hab ich mit "hg clone bif bif_neu" versucht mir ein neues repository zu erstellen und wollte dann in dem den server starten und er sagt mir "ImportError: No module named bif"
Wie gehe ich sowas an? Damit ich mir leicht solche repositorys erstellen kann ohne dann viel ändern zu müssen.
Verfasst: Donnerstag 4. Dezember 2008, 17:57
von Leonidas
Das Modul heißt also bei dir bif_neu. Lösung: alles in einen Unterordner schieben und in diesen den ``bif``-Ordner stecken.
Persönlich habe ich das ganze nochmal anders gemacht, so dass bei mir die Checkouts der Branches immer am gleichen Pfad sind, so dass ich keinerlei Konfiguration anpassen muss, wenn ich an einem anderen Branch arbeiten will.
Verfasst: Donnerstag 4. Dezember 2008, 22:23
von würmchen
ah, ok, verstehe....
ich hab also meinen ordner den ich django nenne und in dem ist das Projekt bif (bzw. Modul)...
ich gehe dann hin und mache mein hg init im django ordner und wenn ich jetzt clone kopiere ich diesen klon irgendwo hin, weil der enthält ja mein komplettes modul?
hab jetzt einfach nen ordner neu gemacht, und das rep von bif_neu da rein geschoben und in bif umbenannt und es funktioniert...
einzige was nicht geht, die templates und ein paar andere ordner hab ich global eingetragen, die stimmen jetzt natürlich nicht mehr...
gibt es da ein trick, oder von welchem verzeichnis aus muss ich die lokal angeben, also ohne anführenden / am anfang?
ich nehme an in dem auch die settings.py datei liegt, oder?
Verfasst: Donnerstag 4. Dezember 2008, 22:34
von Leonidas
würmchen hat geschrieben:einzige was nicht geht, die templates und ein paar andere ordner hab ich global eingetragen, die stimmen jetzt natürlich nicht mehr...
gibt es da ein trick, oder von welchem verzeichnis aus muss ich die lokal angeben, also ohne anführenden / am anfang?
Ja, indem du die Pfade in ``settings.py`` alle relativ zu ``__file__`` machst.
Verfasst: Samstag 6. Dezember 2008, 12:09
von sma
Setze doch einfach ein Verzeichnis höher an: `v1/bif` wird zu `v2/bif` geklont. Den Namen, den du bei `startproject` angegeben hast, kannst du leider nicht so einfach ändern, weil Django den standardmäßig in als Teil der Modulnamen ansieht.
Du kannst dein Projekt allerdings auch ohne Projekt einfach nur aus Modulen aus dem PYTHONPATH zusammensetzen. Dann sollte auch `bif` und `bif_neu` als Verzeichnisname funktionieren, weil diese jetzt nicht Teil von Django sind. Du musst allerdings dann selbst eine `settings.py` und `urls.py´-Datei anlegen und `manage.py` sagen, wo er das settings-Modul findet.
Stefan