超出相对导入中的顶级包错误
看来这里已经有一些关于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。导致此错误消息的原因是什么?
慕无忌1623718
Qyouu
慕莱坞森
随时随地看视频慕课网APP
相关分类