Zunächst einmal: Es tut mir leid, ich weiß, dass es viele Fragen zu relativen Importen gab, aber ich habe einfach keine Lösung gefunden. Wenn möglich möchte ich folgendes Verzeichnislayout verwenden:
myClass/
__init__.py
test/
demo.py
benchmark.py
specs.py
src/
__init__.py
myClass.py
Jetzt sind meine Fragen:
Wie importieren die Testdateien aus dem Paket myClass.py ordnungsgemäß?
Wie würden Sie das Paket von außen importieren, vorausgesetzt, Sie nehmen myClass als Submodul in libs / myClass oder include / myClass?
Bisher konnte ich dafür keine elegante Lösung finden. Soweit ich Guidos Entscheidung verstehe , sollte es möglich sein, dies zu tun, from ..src import myClassaber dies wird einen Fehler machen:
ValueError: Attempted relative import in non-package
Das sieht so aus, als würde myClass nicht als Paket behandelt. Lesen Sie die Dokumente :
Die Dateien __init__.py sind erforderlich, damit Python die Verzeichnisse als Pakete enthaltend behandelt.
Es scheint, dass mir etwas fehlt, das angibt, wo sich die Skripte des Pakets befinden. Soll ich .pth verwenden?