Использование __init__.py в современном коде
Надо ли в современном коде добавлять файл __init__.py в директорию, из которой собираешься импортировать модули? Или достаточно использовать неявные namespace пакеты?
Ответы (1 шт):
Отвечая на ваш вопрос:
Файл __init__.py требовался в Python 2.X, больше не требуется, предположительно, начиная с Python 3 и выше.
Также добавлю:
Вы можете не использовать __init__.py либо оставлять его пустым, в таком случае он будет выполнять код инициализации для пакета или устанавливать переменную __all__.
Файлы __init__.py необходимы, для того, чтобы Python рассматривал каталоги как содержащие пакеты; это делается для того, чтобы предотвратить каталоги с общим именем, например string, от непреднамеренного скрытия допустимых модулей, которые происходят позже (глубже) на пути поиска модуля.