Нужны ли проекты python MANIFEST.in а что должно быть в нем?


руководство "Python Distribute" (было на python-distribute.org, но эта регистрация истекла) говорит мне включить doc/txt файлы и .py файлы исключаются в MANIFEST.in file

The исходная документация говорит мне только sdist использует MANIFEST.in и включает в себя только файл, который вы указываете и включить .py файлы. Он также говорит мне использовать:python setup.py sdist --manifest-only для создания MANIFEST, но питон говорит мне, что это не существует

Я ценю это из разных версий python и системы распространения находится в a полный беспорядок, но предполагая, что я использую python 3 и setuptools (новый, который включает в себя distribute, но теперь называется setuptools, а не старые setuptools, которые были устаревшими для distribute tools только для возвращения в distribute и distribute переименованы в setuptools.....)

и я следую "стандартной" структуре папок и ,

  1. мне нужно MANIFEST.in ?
  2. что должно быть в нем ?
  3. когда все эти различные пакетные системы и методы будут объединены в один простой процесс ?
1 68

1 ответ:

Re: "нужно ли мне MANIFEST.in?

нет, вы не должны использовать MANIFEST.in. Оба,distutils и setuptools включены в источник дистрибутива все файлы, упомянутые в setup.py - модули, пакетные файлы python, README.txt и test/test*.py. Если это все, что вы хотите иметь в дистрибутиве, вы не нужно использовать MANIFEST.in.

если вы хотите манипулировать (добавлять или удалять) по умолчанию файлы, вы должны использовать MANIFEST.in.

Re: Что должно быть в нем?

процедура проста:

  1. убедитесь, что в вашем setup.py вы включаете (с помощью setup аргументы) все файлы, которые вы считаете важными для запуска программы (модули, пакеты, скрипты ...)

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

  3. если MANIFEST.in необходимо, создать его. Обычно, вы добавляете туда tests*/*.py файлы README.rst если вы не используете README.txt,docs файлы и, возможно, некоторые файлы данных для тестов, если это необходимо.

например:

include README.rst
include COPYING.txt

чтобы проверить это, выполните команду python setup.py sdist, и изучить тарбол, созданный под dist/.

когда будут все эти различные системы пакетов ...

сравнивая ситуацию сегодня и 2 года назад - ситуация намного лучше - setuptools - это так держать. Вы можете игнорировать этот факт,distutils немного сломан и низкий уровень базы для setuptools как setuptools Я позабочусь о том, чтобы скрыть эти вещи от вас.

EDIT: последние несколько проектов я использую pbr для построения дистрибутивов с тремя строками setup.py и отдыхаем в setup.cfg и requirements.txt. Не нужно заботиться о MANIFEST.in и другие странные вещи. Хотя пакет заслуживал бы немного больше документации. Видеть http://docs.openstack.org/developer/pbr/