2009-11-14 2 views
2

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

Итак:

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

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

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

ответ

5

Я изменить это поведение в Distutils (в багажнике Python (2,7/3,2))

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

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

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

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

Tarek

0

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

Смежные вопросы