stuff/
__init__.py
mylib.py
Foo/
__init__.py
main.py
foo/
__init__.py
script.py
script.py
chce importować mylib.py
Jak osiągnąć względną przywozu w Pythonie
To tylko przykład, ale tak naprawdę po prostu chcę zrobić względną importu modułu w katalogu nadrzędnego. Próbowałem różnych rzeczy i dostać ten błąd ...
Attempted relative import beyond toplevel package
Czytałem gdzieś, że skrypt skąd rozpoczyna program nie powinien się w pakiecie, a ja starałem modyfikując strukturę, że tak jak ...
stuff/
mylib.py
foo.py // equivalent of main.py in above
foo/
__init__.py
script.py
ale dostałem ten sam błąd.
Jak mogę to zrobić? Czy to nawet odpowiednie podejście?
Edit: W Pythonie 2
Masz to. Co się dzieje, że nie można używać importów względnych ze skryptu, który uruchamiasz z wiersza poleceń, więc powinien znajdować się na najwyższym poziomie organizacji, odwołując się do rzeczy poniżej. –
Dlaczego "główny" skrypt został uruchomiony z poziomu pakietu powodują problemy? – Bin