sape hat geschrieben:Leonidas hat geschrieben:[...]
Übrigens, man muss durch
PEP 328 solche Pfade nicht mehr in sys.path einfügen.
Danke für den guten Tipp. Das kannte ich noch garnicht.
lg
Habs getestet und es funktioniert nicht wirklich bei mir :K
Beispiel Struktur:
MyProject
-- logic
---- diverse Python Scripte
-- gui
---- diverse Python Scripte
--unittests
MyWxApp.pyw
Wenn ich MyWxApp.pyw starte, und z.B. ein Script aus dem Package ``gui`` ein Script von dem Package ``logic`` importiert (import logic.foo), geht alles wunderbar, da in ``sys.path`` der Pfad zu ``MyProject`` existiert und somit darüber auf ``gui`` und ``logic`` zurückgegriffen werden kann. Aber, wenn ich nun das betreffende Script in ``gui`` starte (das ja eins aus ``logic`` importiert) dann geht es nicht, da ja der Pfad zu ``MyProject`` nicht in ``sys.path`` existiert. -- Logisch es wurde ja auch aus ``gui`` gestartet und kann daher das Package ``logic`` nicht finden, da der Pfad zum Root-Verzeichnis ``MyProject`` nicht in ``sys.path`` existiert.
Nun habe ich mal einiges aus ``PEP 328`` ausprobiert und nichts hat funktioniert. Naja, ich behelfe mir damit das ich nun weiterhin ``sys.path.append(...)`` benutze um den Pfad zum Root-Verzeichnis ``MyProject`` verfügbar zu machen. -- Das benutze ich natürlich nur bei ``unittest`` weil ich die Scripte aus diesem Packlge immer direkt ausführe!