Несмотря на то, что более новые версии Python 3 могут импортировать каталоги без файла __init__.py
в виде пакетов, эти каталоги по-прежнему необходимо добавлять в дистрибутивы Python проектов.
В этом case setuptools отвечает за упаковку, а функция find_packages
отвечает за автоматический поиск пакетов. Но, насколько я знаю, эта функция обнаруживает только пакеты, основываясь на наличии файла __init__.py
в каталогах. Каталоги без такого файла затем либо не добавляются в дистрибутивы проекта, либо не устанавливаются (не совсем уверен, что это).
Возможно, попробуйте setuptools find_namespace_packages
вместо. Эта функция, по-видимому, предназначена для рассмотрения любого каталога, содержащего хотя бы один файл Python, как пакета, даже без обычного файла __init__.py
. Который, очевидно, может иметь побочные эффекты, например, каталог test
не должен быть пакетом, установленным вместе с проектом, даже если он содержит код Python.
С моей точки зрения, нет большой недостаток в добавлении файлов __init__.py
в любом случае, так что это моя рекомендация.