Можно ли использовать __all__
рекурсивно? Это импортирует модули в __all__
...
from mypkg import *
, но не рекурсивно.
Попытка поместить все в __all__
(внутри __init__.py
) также не представляется полезной:
from pathlib import Path
# List all python (.py) files in the current folder and put them as __all__
fs = [f for f in Path('mypkg/').rglob('*.py') if not f.name.endswith('__init__.py')]
__all__ = [str(f).replace('/','.')[:-3][5:] for f in fs]
Поскольку ...
from mypkg import *
Результат AttributeError: module 'mypkg' has no attribute 'module1.file1'
для первой папки в пакете.