Import-Datei vom übergeordneten Verzeichnis?
Ich habe die folgende Verzeichnisstruktur:
application
tests
main.py
main.py
application/main.py enthält einige Funktionen.
tests/main.py enthält meine tests für diese Funktionen, aber ich kann nicht importieren Sie die top-level-main.py. Ich bekomme die folgende Fehlermeldung:
ImportError: Import by filename is not supported.
Ich bin versucht zu importieren, verwenden Sie die folgende syntax:
import main
Was mache ich falsch?
InformationsquelleAutor der Frage Marty Wallace | 2013-05-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie möchten, dass Ihre Skript mehr tragbar, prüfen, der Suche nach dem übergeordneten Verzeichnis automatisch:
InformationsquelleAutor der Antwort
Müssen Sie die Anwendung, die dir auf deinem Weg:
Oder von shell:
Wenn Sie windows verwenden:
Hinzufügen von Variablen zu einem Pfad in windows.
Oder von der Kommandozeile aus:
InformationsquelleAutor der Antwort 0x90
Zunächst alles, was Sie brauchen, um Ihre Verzeichnisse in Paketen, indem
__init__.py
Dateien:Dann sollten Sie sicherstellen, dass das Verzeichnis oberhalb Anwendung auf
sys.path
. Es gibt viele Möglichkeiten, das zu tun, wie machen die Anwendung infto ein Paket und installieren Sie es, oder nur die Ausführung, die Dinge in den richtigen Ordner usw.Dann Ihre Importe funktionieren wird.
InformationsquelleAutor der Antwort Lennart Regebro
Können Sie nicht importieren Sie die Dinge aus Eltern - /Geschwister-Verzeichnisse als solche. Sie können nur importieren, die Dinge aus Verzeichnissen auf dem system Pfad oder im aktuellen Verzeichnis, oder Unterverzeichnissen in einem Paket. Da hast du keine
__init__.py
- Dateien, sind die Dateien nicht in ein Paket bilden, und Sie können nur importieren, indem Sie auf den system Pfad.InformationsquelleAutor der Antwort BrenBarn
in python . besteht für das gleiche Verzeichnis, .. das übergeordnete Verzeichnis
zum importieren einer Datei vom übergeordneten Verzeichnis, die Sie verwenden können ..
InformationsquelleAutor der Antwort StackUP