При упаковке пакета Python с файлом setup.py, который использует setuptools:
from setuptools import setup
...
исходный дистрибутив, созданный с помощью:
python setup.py sdist
, как обычно, включает не толькофайлы, указанные в файле MANIFEST.in, но он также включает в себя все файлы, которые Subversion перечисляет как контролируемые версиями в каталоге пакета.Это очень раздражает.Мало того, что это затрудняет осуществление какого-либо явного контроля над тем, какие файлы распространяются с моим пакетом, но это означает, что когда я собираю свой пакет, следуя «svn export» вместо «svn checkout», содержимое моегопакет может быть совсем другим, так как без .svn метаданные setuptools будет по-разному выбирать, что включать.
Мой вопрос: как я могу отключить это ужасное поведение, чтобы «setuptools» обрабатывал мой проект так жеКстати, использую ли я Subversion, или контроль версий, о котором никогда не слышали, или пустое дерево, созданное с помощью «svn export», которое я создал в конце моего проекта, чтобы убедиться, что оно собирается чисто где-то помимо моего рабочего каталога?
Лучшее, что мне удалось сделать, это уродливый патч обезьяны:
from setuptools.command import sdist
del sdist.finders[:]
Но это Python, а не джунгли, так что, конечно, я хочу лучшее решение, в котором не участвуют обезьяны.все.Как я могу приручить setuptools, отключить его магию и заставить его вести себя разумно, взглянув на видимые, предсказуемые правила в моем файле MANIFEST.py вместо этого?