Включение данных пакета с распространением - PullRequest
2 голосов
/ 14 ноября 2009

Я пытаюсь использовать Distribute для моего проекта setup.py. Я хочу, чтобы он включал все файлы в папке пакета, которые представляют собой текстовые файлы и файлы изображений, но, конечно, не файлы .pyc. Я прочитал, что файлы должны быть отслежены CVS и SVN, или там должно быть MAINFEST.in.

Итак:

  1. Я не использую ни CVS, ни SVN, я использую git. Я знаю, что можно написать плагин для git, и, возможно, кто-то есть, но я не собираюсь использовать какой-то плагин, который я не знаю, будет ли он поддерживаться и поддерживаться. Кроме того, git отслеживает больше, чем исходную папку, репозиторий включает другие файлы, которые не должны быть упакованы в дистрибутив.

  2. Я думал, что одна из привилегий Distribute не связана с файлом MANIFEST.in. Я действительно должен? Если так, где я могу увидеть руководство? Я никогда не писал MANIFEST.in.

Есть ли более приятное решение?

Ответы [ 2 ]

5 голосов
/ 15 ноября 2009

Я изменил это поведение в Distutils (в магистрали Python (2.7 / 3.2))

Теперь все файлы, указанные в package_data, будут включены по умолчанию без необходимости Напишите файл MANIFEST.in, не используя магическое поведение, основанное на DVCS.

До этого я бы рекомендовал использовать явный файл MANIFEST.in и придерживаться простых параметров Distutils, чтобы вы не полагались на какие-либо VCS и не добавляли файлы по случайностям, которые есть в хранилище, но вы не хотите, чтобы его добавили в ваш выпуск.

Распределение 0.7.x, вероятно, будет придерживаться предстоящего поведения по умолчанию Distutils.

Ищите язык шаблонов MANIFEST.in в документе Distutils, это довольно просто.

Тарек

0 голосов
/ 14 ноября 2009

Я не знаю, есть ли еще лучшая документация для distribute, поэтому вам, возможно, придется обратиться к документации для setuptools , из которой был разветвлен distribute. В частности, см. Раздел «Включение файлов данных».

...