Почему метаданные setup.py не используются в PyPI? - PullRequest
3 голосов
/ 06 июня 2011

У меня была бета-версия пакета на PyPi.

Мета-информация (например, домашняя страница, категории и т. Д.) Из setup.py появилась на странице PyPi проекта .

Позже я обновил проект. Единственное, что я изменил в файле setup.py, это номер версии.

Обновление : Как всегда, никогда не доверяйте тому, кто это говорит. Я изменил с setuptools на distutils! Программирование Cargo Cult - я просто скопировал то, что сделал другой проект. К сожалению.

Но следующая версия на странице PyPi проекта не содержит метаинформации.

Я пытаюсь понять, как я это сломал; Я нахожу PyPi довольно обременительным, чтобы получить права, поэтому я уверен, что это был я. На этот раз я использовал Python 2.7.1 на довольно новой установке Windows (где ранее я использовал Python 2.6.x)

Я почти наверняка использовал другую командную строку для загрузки. (На этот раз, похоже, нужно подписать и установить pgp, что, как я помню, не нужно в прошлый раз).

Куда мне обратиться, чтобы узнать, почему метаинформация в файле setup.py больше не загружается?

Ответы [ 2 ]

3 голосов
/ 16 сентября 2011

Выполнение следующей команды в вашем файле setup.py должно исправить проблему:

$ python setup.py register

В идеале вы хотели бы запустить команду регистрации вместе с загрузкой. Я обычно использую минимум три команды при выпуске любого пакета (sdist, register, upload). Ниже приведен типичный выпуск PyPI:

$ python setup.py sdist register upload

Остальная часть этого поста - краткое объяснение того, что делают эти команды.

Команда sdist - одна из немногих команд сборки, которая будет создавать исходный дистрибутив. Скорее всего, вы уже знакомы с ним, так как загрузили файл .zip. Аналогичная команда bdist , которая создает двоичные дистрибутивы.

Метаданные дистрибутива (или пакета) отправляются отдельно от встроенного дистрибутива. Команда upload setuptools загрузит ваши сборки проекта (например, myproject-0.0.zip). Команда register должна использоваться для обновления информации метаданных. Команда register отправляет PKGINFO (или egg_info) PyPI в формате, который он понимает.

1 голос
/ 10 октября 2011

Сложно ответить. Можете ли вы дать нам командные строки, которые вы использовали? Ваш setup.py использует distutils или setuptools? Вы меняли файл pydistutils.cfg или .pypirc между этими двумя раза?

...