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.
Django mit Mercurial
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
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.
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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
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?
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?
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ja, indem du die Pfade in ``settings.py`` alle relativ zu ``__file__`` machst.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?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
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
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