Как setuptools решает, какие файлы сохранить для sdist / bdist?
-
23-08-2019 - |
Вопрос
Я работаю над пакетом Python, который использует namespace_packages
и find_packages()
вот так в setup.py:
from setuptools import setup, find_packages
setup(name="package",
version="1.3.3.7",
package=find_packages(),
namespace_packages=['package'], ...)
Этого нет в системе управления версиями, потому что это набор вышестоящих компонентов.Нет никакого МАНИФЕСТА.
Когда я бегу python setup.py sdist
Я получаю архив большинства файлов в package/
каталог, но любые каталоги, которые не содержат .py
файлы не учитываются.
Каковы правила по умолчанию для чего setup.py
включает и исключает из встроенных дистрибутивов?Я исправил свою проблему, добавив MANIFEST.in
с
recursive-include package *
но я хотел бы понять, что setuptools и distutils делают по умолчанию.
Решение
Вам нужно добавить директиву package_data.Например, если вы хотите включить файлы с расширениями .txt или .rst:
from setuptools import setup, find_packages
setup(name="package",
version="1.3.3.7",
package=find_packages(),
include_package_data=True,
namespace_packages=['package'],
package_data = {
# If any package contains *.txt or *.rst files, include them:
'': ['*.txt', '*.rst']...
)
Не связан с StackOverflow