Я не понимаю python MANIFEST.in

Чтение этого: Распространение Python

он говорит мне включать файлы doc/txt и .py файлы исключаются в файле MANIFEST.in

Чтение этого

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

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

и я следую за «стандартной» структурой папок и файлом setup.py ,

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

One Solution collect form web for “Я не понимаю python MANIFEST.in”

Re: «Нужен ли мне MANIFEST.in?

Нет, вам не нужно использовать MANIFEST.in . Оба, distutils и setuptools включают в исходный дистрибутив все файлы, упомянутые в файлах setup.py – modules, файлы 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.rst если вы не используете файлы README.txt , docs и, возможно, некоторые файлы данных для набора тестов, если это необходимо.

Например:

 include README.rst include COPYING.txt 

Чтобы протестировать его, запустите python setup.py sdist и проверьте tarball, созданный с помощью dist/ .

Когда все эти разные системы пакетов …

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

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

  • Несколько проектов из одного setup.py?
  • Как указать диапазоны версий в install_requires (setuptools, distribute)
  • Как использовать setuptools для установки в пользовательский каталог?
  • «setup.py test» Место установки яйца?
  • Как я могу получить версию, определенную в setup.py (setuptools) в моем пакете?
  • setuptools: расположение папки данных пакета
  • что означает «__requires__» в python?
  • Python ez_install: UnicodeDecodeError: кодек 'ascii' не может декодировать байт 0xae в позиции 11
  • Получить местоположение файла сценария точки входа в пакете setuputils?
  • Объясните точки входа Python?
  • Python setuptools: как включить файл конфигурации для распространения в <префикс> / etc
  • Python - лучший язык программирования в мире.