Python-相对导入超出顶级包错误

Python-相对导入超出顶级包错误,第1张

Python-相对导入超出顶级包错误

为什么不起作用?这是因为python没有记录软件包从何处加载。因此,当你这样做时

python -m test_A.test
,它基本上只是舍弃了
test_A.test
实际存储在其中的知识
package
(即
package
不被视为包)。尝试
from ..A import foo
正在尝试访问它没有的信息(即,已加载位置的同级目录)。从概念上讲,它类似于允许使用
from ..os import path
中的文件
math
。这将是很糟糕的,因为你希望软件包与众不同。如果他们需要使用其他软件包中的内容,则应使用全局引用它们,
from os import path
并让
python
找出与
$PATHand
一起在哪里
$PYTHONPATH

使用时

python -m package.test_A.test
,使用
from ..A import foo
解析就可以了,因为它可以跟踪其中的内容,
package
而你只是访问已加载位置的子目录。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5629886.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-15
下一篇2022-12-16

发表评论

登录后才能评论

评论列表(0条)

    保存