
为什么不起作用?这是因为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而你只是访问已加载位置的子目录。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)