from distutils import tests
即使在distutils / tests中没有__init__.py,这似乎也没有引发任何错误。
我的理解是,对于要导入的包或子包,__init__.py基本上是必需的
答案 0 :(得分:1)
这在Python 3.2中显然有所改变。在setuptools documentation中 我们发现:
Anyway, find_packages() walks the target directory, filtering by inclusion patterns, and finds Python packages (any directory). On Python 3.2 and earlier, packages are only recognized if they include an __init__.py file. Finally, exclusion patterns are applied to
但是,在Python 3.6 documentation中,我们发现仍然需要 init .py。
我的理解是当前行为接受sys.path上的任何目录,其中包含.py文件。但是,我正在努力挖掘官方的东西。