stuff/
__init__.py
mylib.py
Foo/
__init__.py
main.py
foo/
__init__.py
script.py
script.py
хочет импортировать mylib.py
Как добиться относительного импорта в питона
Это просто пример, но на самом деле я просто хочу сделать относительный импорт модуля в родительском каталоге. Я пробовал различные вещи и получить эту ошибку ...
Attempted relative import beyond toplevel package
Я где-то читал, что сценарий, откуда запускается программа не должна в пакете, и я попытался модифицировать структуру, которая, как так ...
stuff/
mylib.py
foo.py // equivalent of main.py in above
foo/
__init__.py
script.py
но получил такую же ошибку.
Как это сделать? Это даже адекватный подход?
Edit: В Python 2
У вас это есть. Что происходит, так это то, что вы не можете использовать относительный импорт из сценария, который вы используете из командной строки, поэтому он должен находиться на верхнем уровне организации, ссылаясь на вещи, расположенные ниже. –
Почему «главный» сценарий запускался из пакета, вызывают проблемы? – Bin