Python importiert ein Modul aus einem parallelen Verzeichnis

8

Wie würde ich meine Python-Importe organisieren, damit ich ein Verzeichnis wie dieses haben kann.

%Vor%

Und dann in /project/test/tests.py in der Lage sein, classes.py

zu importieren

Ich habe Code in tests.py

%Vor%

Und bekomme Fehler von

%Vor%

Weiß jemand, was zu tun ist?

    
Zack 08.07.2014, 00:37
quelle

1 Antwort

12

Python fügt den Ordner, der das von Ihnen aufgerufene Skript enthält, zum PYTHONPATH hinzu, wenn Sie

ausführen %Vor%

Nur der Ordner test wird dem Pfad hinzugefügt (nicht das Basisverzeichnis, in dem Sie den Befehl ausführen).

Stattdessen führen Sie Ihre Tests wie folgt aus:

%Vor%

Dadurch wird das Basisverzeichnis zum Python-Pfad hinzugefügt, und dann sind die Klassen über einen nicht relativen Import zugänglich:

%Vor%

Wenn Sie den relativen Importstil wirklich verwenden möchten, müssen Ihre 3 Verzeichnisse zu einem Paketverzeichnis hinzugefügt werden

%Vor%

Und Sie führen es von oberhalb des Paketverzeichnisses mit

aus %Vor%

Siehe auch:

Peter Gibson 08.07.2014, 01:47
quelle