Подтвердить что ты не робот

Обновление пакета PyPi

Есть ли способ обновить пакет PyPi без изменения номера версии?

Представьте, что на секунду я обнаружил небольшую ошибку в пакете, который я недавно загрузил в PyPi. Есть ли способ редактировать/повторно загружать код без увеличения номера версии?

UPDATE Я предполагаю, что я должен уточнить, что под "ошибкой" я подразумеваю, что номер версии в фактическом исходном коде неправильный - это не функциональная вещь, это просто означает, что если вы делаете package.version, вы получаете предыдущую версию, а не текущую (и да, я знаю, что это может вызвать ошибку в чей-то еще код, но, учитывая, что мы в альфе, я надеюсь, что зависимости от версии еще не установлены...). Для записи явно чистые исправления ошибок являются плохими!

ОБНОВЛЕНИЕ 2 По состоянию на январь 2015 года предоставленное решение больше недействительно - см. этот пост для получения дополнительной информации.

4b9b3361

Ответ 1

Когда вы столкнулись с ошибкой, всегда загружайте новую версию.

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

Вы никогда не знаете, кто уже может загрузить копию релиза (на зеркало, прямо с вашей страницы github, что угодно), который никогда не узнает, что вы исправили ошибку тихо. Более того, те, кто выяснил, что вы заменили выпуск, теперь должны узнать, как заставить переустановить.

Не заменяйте выпущенный пакет безболезненным исправлением. Не соблазняйтесь. Просто сделайте новый релиз.

Если, с другой стороны, вам удалось каким-то образом испортить сам файл дистрибутива, поэтому файл .zip или .tar.gz является b0rken, тогда вам нужно вручную удалить файл с помощью веб-интерфейса PyPI и повторно загрузить.

Начиная с 24 января, PyPI даже не позволит вам повторно использовать имя файла; это означает, что вы не можете повторно загрузить новый файл с тем же номером версии.

Если вы ошиблись, это ошибка упаковки, вы можете добавить посттекст .postN к номеру версии (так .post1, .post2 и т.д.), чтобы указать обновление после выпуска.