Why do I need __init__.py at every level? [duplicate]
Yes, this file is required if you want directory to be treated as a module. The __init__.py files are required to make Python treat the directories as containing packages; this is done to prevent directories with a common name, such as string, from unintentionally hiding valid modules that occur later on the module search path. … Read more