Importieren von Lokalen Modulen
Verfasst: Samstag 11. Februar 2017, 23:42
Hallo,
ich verstehe schon wieder etwas mit den Pfaden nicht. Mir ist unbegreiflich, warum ich modules aus packages nicht lokal importieren kann.
Das vereinfachte Testcase Setup sieht so aus:
http://imgur.com/a/mYhSX
Ich möchte quasi im file settings.py wahlweise die production- oder die dev-settings importieren. Beide setting-setups teilen sich die settings aus base.py (angedeutet durch die GLOBAL-Variable) und sollen aber jeweils andere settings überschreiben (angedeutet durch die PATH-Variable).
Ich führe settings.py aus und erwarte, wenn prod.py in settings.py importiert wird, dass die Ausgabe
'Production Path'
'Another global'
ist. Genau das funktioniert, wenn ich alle Files einen Ordner höher schiebe und bei den imports den . weglasse. Aber von einem package kann ich nicht lokal importieren.
Warum nicht?
Folgendes habe ich noch probiert ohne eine Lösung zu erzeugen:
- Eine __init.py___ mit den importen von den modulen angelegt
- Absolute Dot-Path (project.config.prod statt .prod)
- sys.path.append vorher hinzugefügt
Kann mir jemand ein Beispiel zeigen und vielleicht kurz erklären, was ich falsch mache?
ich verstehe schon wieder etwas mit den Pfaden nicht. Mir ist unbegreiflich, warum ich modules aus packages nicht lokal importieren kann.
Das vereinfachte Testcase Setup sieht so aus:
http://imgur.com/a/mYhSX
Ich möchte quasi im file settings.py wahlweise die production- oder die dev-settings importieren. Beide setting-setups teilen sich die settings aus base.py (angedeutet durch die GLOBAL-Variable) und sollen aber jeweils andere settings überschreiben (angedeutet durch die PATH-Variable).
Ich führe settings.py aus und erwarte, wenn prod.py in settings.py importiert wird, dass die Ausgabe
'Production Path'
'Another global'
ist. Genau das funktioniert, wenn ich alle Files einen Ordner höher schiebe und bei den imports den . weglasse. Aber von einem package kann ich nicht lokal importieren.
Warum nicht?
Folgendes habe ich noch probiert ohne eine Lösung zu erzeugen:
- Eine __init.py___ mit den importen von den modulen angelegt
- Absolute Dot-Path (project.config.prod statt .prod)
- sys.path.append vorher hinzugefügt
Kann mir jemand ein Beispiel zeigen und vielleicht kurz erklären, was ich falsch mache?