Как отправить пакет в PyPi?

Я написал небольшой модуль, и я хотел бы знать, каковы основные шаги для его упаковки, чтобы отправить его pypi

  • Какова иерархия файлов?
  • как я могу назвать файлы?
  • Должен ли я использовать distutils для создания PKG-INFO?
  • Где я должен включать мою документацию (сделанную с помощью sphinx)?

Ответы

Ответ 1

Я рекомендую прочитать Руководство автостопом по упаковке. В частности, вы должны посмотреть раздел "Быстрый старт" , в котором описывается, как:

  • Разместите свой проект
  • Опишите свой проект
  • Создайте свой первый выпуск
  • Зарегистрируйте свой пакет с помощью индекса пакета Python (PyPI)
  • Загрузите свою версию, затем возьмите полотенце и сохраните Вселенную!

Вы также должны посмотреть Текущее состояние упаковки в Введение в раздел упаковки, поскольку это помогает распутать некоторые путаницы вокруг setuptools, distutils, distutils2 и распространять.

Обновить Re: Как назвать файлы

Выдержка из PEP8, которая отвечает на ваш вопрос о том, как назвать файлы:

Модули должны иметь короткие, все строчные имена. Подчеркивания могут использоваться в имени модуля, если это улучшает читаемость. Пакеты Python также должны иметь короткие имена всех строчных букв, хотя использование подчеркиваний не рекомендуется.

Так как имена модулей сопоставляются с именами файлов, а некоторые файловые системы не чувствительны к регистру и обрезают длинные имена, важно, чтобы имена модулей были достаточно короткими - это не будет проблемой для Unix, но это может быть проблемой, когда код переносится на старые версии для Mac или Windows или DOS.

Ответ 3

Возможно, этот CheeseShopTutorial поможет вам. Оттуда:

Отправка пакетов в пакет Индекс

Если у вас есть некоторые модули или пакеты Python, которые вы хотели бы поделиться с сообществом Python, мы хотели бы включить их в Индекс пакета Python! Во-первых, если вы этого не сделали, вам захочется чтобы ваш проект был организован. Вы можете следовать рекомендациям в ProjectFileAndDirectoryLayout. После этого вы захотите прочитать Документация Python относительно создания дистрибутивов: http://docs.python.org/distutils/index.html.

Вы также можете проверить Написание пакета в Python от Tarek Ziadé из книги Tarek "Программирование программистов на языке программистов", где вопросы о разработке и распространении подробно рассмотрены

Ответ 4

В ответе Мэтью Ранкина рассказывается, как организовать иерархию вашего файла проекта, но мне приходится искать команды для выполнения каждый раз, когда я хочу обновить проект на PyPI. Итак, вот они:

Как описано на сайте PyPi: