после ошибки пакета верхнего уровня в относительном импорте
Кажется, здесь уже есть несколько вопросов об относительном импорте в Python 3, но, пройдя многие из них, я так и не нашел ответа на свой вопрос. так вот в чем вопрос.
У меня есть пакет, показанный ниже
package/
__init__.py
A/
__init__.py
foo.py
test_A/
__init__.py
test.py
и у меня есть одна строка в test.py:
from ..A import foo
сейчас я в папкеpackage
и я бегу
python -m test_A.test
Я получил сообщение
"ValueError: attempted relative import beyond top-level package"
но если я в родительской папкеpackage
Например, я бегу:
cd ..
python -m package.test_A.test
Все отлично.
Теперь мой вопрос: когда я в папкеpackage
и я запускаю модуль внутри подпакета test_A какtest_A.test
исходя из моего понимания,..A
поднимается только на один уровень, который все еще находится в пределахpackage
папка, почему выдает сообщениеbeyond top-level package
, В чем именно причина этого сообщения об ошибке?