Как я могу указать произвольный набор файлов (не обязательно.py файлов), чтобы они были распределены и установлены так же, как и обычные модули Python?
Я использую distutils для распространения и установки моей библиотеки Python. Один из модулей этой библиотеки импортирует стороннее расширение Python под названием bpy.so (это модуль Blender). Для расширения bpy.so требуются и другие файлы. Я хочу распространять и устанавливать bpy.so и дополнительные файлы с моей библиотекой.
Один из способов сделать это - указать все дополнительные файлы как data_files для setup(). Однако я не знаю, как надежно указать тот же установочный каталог, который используется для моих чистых модулей python (например,/usr/local/lib/python3.2/dist-packages). Я могу распространять дополнительные файлы, создавая файл MANIFEST.in (см. Этот вопрос), но я также хочу установить файлы.
Я бы предложил использовать setuptools поверх distutils.
Это хороший справочный документ, чтобы начать работу с ним. Преимущество использования setuptools в том, что у него есть несколько приятных функций, таких как возможность включения всех файлов в данный каталог (пакет) автоматически или в соответствии с фильтрами. Это раздел вышеупомянутого документа, посвященный этому конкретному аспекту.
НТН!
PS: текущая ситуация/ограничения distutils являются источником многих жалоб большинства пользователей. Кажется, новое поколение библиотеки уже на пути!