Hey alle - ich ziehe meine Haare mit relativen Einfuhren in Python. Ich habe die Dokumentation 30 Mal gelesen und zahlreiche Beiträge hier auf SO und anderen Foren - scheint immer noch nicht zu funktionieren.Relative Importe in Python
Meine Verzeichnisstruktur sieht derzeit wie diese
src/
__init__.py
main.py
components/
__init__.py
expander.py
language_id.py
utilities/
__init__.py
functions.py
I expander.py und language_id.py wollen Zugriff auf die Funktionen Modul zu haben. Ich führe python main.py aus, das mit den Komponenten components.expander import * und components.language_id import * gut auf die Module zugreift.
jedoch der Code innerhalb Expander und language_id, um das Funktionsmodul zugreifen:
from ..utilities.functions import *
erhalte ich diesen Fehler:
ValueError: Attempted relative import beyond toplevel package
Ich habe über sie ein paar Mal gegangen und es scheint Befolgen Sie die Dokumentation. Hat jemand eine Vorstellung davon, was hier schief läuft?
Sie haben die Lösung bereits gefunden, aber um zu erklären, warum sie benötigt wird: Das Paket sollte vollständig eigenständig sein. Es behandelt src/nicht als Paket, wenn Sie main.py darin ausführen. –