Использование Python 3.4 и Setuptools, я пытаюсь получить пакеты пространства имен для правильной работы, как это определено в PEP 420. Моя структура каталогов выглядит следующим образом:питона пакеты неявное пространства имен не устанавливается с Setuptools
- проект
- __init__.py
- ядро
- несколько .py файлов
- лесозаготовительного
- com1
- несколько файлов .py
- COM2
- несколько .py файлов
- интерфейс
- разных файлы
При использовании Setuptools find_package()
, он находит пакет «проект», но он не устанавливает ни одну из папок (неявные подпакеты) внутри «проекта». Когда я разархивирую файл .egg, все, что я вижу, это файл __init__.py внутри, ни один из подкаталогов или файлов.
Я мог бы просто поместить __init__.py в каждую директорию, но поскольку эти файлы были бы пустыми, и мне не нравится, как она работает, я пытаюсь это избежать.
Если я двигаюсь только за пределами моего «проекта» каталог и запустите следующее, он работает
python -m project.logging.com1.myfile
но нигде не работает, потому что Setuptools не устанавливать подкаталоги (неявные пространства имен), в которых нет __init__.py.
Как заставить setuptools правильно установить мои неявные пакеты пространства имен? Должен ли я просто сказать, чтобы установить все файлы внутри каталога, и это будет достаточно хорошо?