Что такое MANIFEST.in и зачем он нужен?

Для чего используется этот файл?


Ответы (1 шт):

Автор решения: hedgehogues

Данный файл нужен для того, чтобы указывать, какие файлы следует включить в сборку пакета. Пример:

MANIFEST.in:

include mypackage/data/hello.txt

setup.py:

import setuptools


setuptools.setup(
    name='mypackage',
    version='0.0.0',
    packages=['mypackage'],
    include_package_data=True
)

Здесь файлы перечисляются не в setup.py, а в MANIFEST.in. Можно гибко управлять добавлением или исключением файлов.В официальной документации это есть. Главное тут не забыть include_package_data=True.

Другой способ включить файлы:

import setuptools
setuptools.setup(
    name='mypackage',
    version='0.0.0',
    packages=['mypackage'],
    package_data={
        'mypackage': ['data/hello.txt'],
    },
)
→ Ссылка