Как setuptools решает, какие файлы сохранить для sdist / bdist?

StackOverflow https://stackoverflow.com/questions/894323

  •  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']...

)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top