失踪者
__init__.py
不是问题所在-您使用的是过时的相对导入。
import sub.module # implicit relative import - py2 only
from . import sub.module # explicit relative import
注意a
.
导入始终需要
from .<where> import <name>
形式否则将不会产生有效的名称。假设你跑步的话,下面的方法应该行得通
script.py
通过
python3 -m src.script
-ide可能也会这样做。
from . import sub.module
from .sub import module
from .sub.module import *
from . import parent_module
如果你跑得平平淡淡
python3 script.py
或
python3 -m script
,不能使用相对导入。在这种情况下,只有绝对进口才有效。
import sub.module
from sub import module
from sub.module import *
import parent_module
当你不需要的时候
__初始年
文件,如果包不是命名空间,则最好添加它们。否则,其他类似构造的同名包可能会插入到您的包中。