Module aus übergeordnetem Ordner importieren
Ich verwende Python 2.5.
Dies ist mein Ordnerbaum:
ptdraft/
nib.py
simulations/
life/
life.py
(Ich habe auch __init__.py
in jedem Ordner, hier zur besseren Lesbarkeit weggelassen)
Wie importiere ich das Modul nib
innerhalb des Moduls life
? Ich hoffe, es ist möglich, ohne an sys.path herumzubasteln.
Hinweis: Das Hauptmodul, das ausgeführt wird, befindet sich im Ordner ptdraft
.
539
3
Sie könnten relative Importe verwenden (python >= 2.5):
(Was ist neu in Python 2.5) PEP 328: Absolute und relative Importe
EDIT: einen weiteren Punkt '.' hinzugefügt, um zwei Pakete hochzugehen
Es scheint, dass das Problem nicht damit zusammenhängt, dass sich das Modul in einem übergeordneten Verzeichnis oder ähnlichem befindet.
Sie müssen das Verzeichnis, das
ptdraft
enthält, zum PYTHONPATH hinzufügenSie sagten, dass
import nib
bei Ihnen funktioniert hat, das bedeutet wahrscheinlich, dass Sieptdraft
selbst (nicht sein Elternteil) zum PYTHONPATH hinzugefügt haben.Wenn das Hinzufügen Ihres Modulordners zum PYTHONPATH nicht funktioniert hat, können Sie die sys.path-Liste in Ihrem Programm ändern, in der der Python-Interpreter nach den zu importierenden Modulen sucht, so die Python-Dokumentation:
Wenn Sie dies wissen, können Sie in Ihrem Programm Folgendes tun