파이썬 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
. 왜 메시지가 나타납니다 . 이 오류 메시지를 발생시키는 이유는 무엇입니까?