Рубрики
Без рубрики

Не опускают __init__.py.

«Python 3 не требует __init__.py» – это распространенное недоразумение. Теги с Python.

Я видел, как некоторые люди думают, что Python 3 Разрешить пакет без __init__.py на списках стойки стойки или рассылки.

Это недоразумение. Пакетный каталог без __init__.py это «пакет пространства имен», а не обычный пакет. Посмотреть Pep 420 для справки.

Пакет пространства имен является специальным пакетом для людей, создающих сложный «распределительный пакет» («Пакет», который может быть зарегистрирован на PYPI). Есть Руководство для пакета пространства имен В «Руководстве пользователя Python Packaging».

Существует некоторая разница между пакетом пространства имен и обычным пакетом.

Например, Неизвестный Модуль в стандартной библиотеке не ищет в каталог без __init__.py Отказ Если они это сделают, они могут взять десяток секунды для поиска тестов в Node_Modules который содержит миллионы файлов и подкаталоги.

Вы не должны опускать __init__.py В вашем проекте, если вы не на 100% уверены в том, что такое «пакет пространства имен». Используйте «обычный пакет» с __init__.py вместо.

Оригинал: “https://dev.to/methane/don-t-omit-init-py-3hga”