после ошибки пакета верхнего уровня в относительном импорте

Кажется, здесь уже есть несколько вопросов об относительном импорте в 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, В чем именно причина этого сообщения об ошибке?

Ответы на вопрос(8)

Ваш ответ на вопрос