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