Pfadprobleme

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
maxip
User
Beiträge: 61
Registriert: Dienstag 11. März 2008, 09:43

Hi,

wenn ich sowas habe wie:

Projektordner
-ModulA
--ModulA1
--ModulA2
-ModulB
--ModulB2

dann muss ich z.B. in Projektordner/startup.py sowas schreiben wie

Code: Alles auswählen

import ModulA.ModulA1
Ansich ja kein Problem, aber liegt diese Datei z.B. im ordner Projektordner/ModulB so funktioniert ein import nicht mehr, d.h. ich kann von dort nichts importieren was oberhalb liegt.

D.h. ich brauche immer eine datei im projektordner als startdatei und dann funktionieren alle importe relativ zu dieser Startdatei.


Eben habe ich z.B. Django heruntergeladen und konnt nie django-admin.py aufrufen, es kam immer der Fehler ImportError, django.core does not exists, obwohl es da is. jetz habe ich die datei eine ebene über den django-ordner kopiert und es funktioniert. Das steht aber in keiner einzigen Doku, also muss es auch anders gehen.

Pythonpath hab ich auch schon probiert, hat nicht funktioniert.

Was mache ich falsch, was scheinbar alle anderen richtig machen?

danke

euer verzweifelter maxip
BlackJack

Der Projektordner muss in `sys.path` enthalten sein. Also sollte es normalerweise genügen das Programm dort auszuführen, weil der aktuelle Pfad in `sys.path` enthalten ist.

Was alle anderen richtig machen: Nichts oberhalb des aktuellen Pfades importieren. :-)

`ModulA` und `ModulB` sollten in dem Beispiel korrekter `PackageA` und `PackageB` heissen.
maxip
User
Beiträge: 61
Registriert: Dienstag 11. März 2008, 09:43

OK, kann es sein dass der Pythonpath dann auf die ebene über dem ordner sein muss, also eine ebene über der letzten ebene mit nem __init__.py ?

weil so scheint es zumindest mit django zu gehen
Antworten