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