Сообщить об ошибке.

Переменная пакета __path__ в Python

Пути поиска вложенных пакетов и модулей

По определению, если у модуля есть атрибут __path__, то значит это пакет!

Атрибут пакета __path__ используется при импорте его подпакетов. В механизме импорта __path__ работает почти так же, как sys.path и предоставляет список местоположений для поиска модулей и подпакетов во время импорта. Тем не менее, атрибут __path__ как правило, гораздо более ограничен, чем sys.path.

Атрибут __path__ должен быть списком из строк, представляющих из себя пути поиска подпакетов и модулей пакета, но он может быть и пустым. Правила, которые используются для sys.path, также применяются к магической переменной пакета __path__. Так же при обходе путей, указанных в __path__ используются sys.path_hooks.

Файл пакета __init__.py может устанавливать или изменять атрибут пакета __path__ и это было как правило. С реализацией пространства имен пакетов больше не нужно использовать файлы __init__.py, содержащие только магическую переменную __path__, отвечающую за дополнительные пути поиска подпакетов и модулей пакета. Для пространства имен пакетов, механизм импорта автоматически настраивает переменную пакета __path__.