我有一个如下所示的包
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
。导致此错误消息的确切原因是什么?< / p >