Загрузите новый выпуск в TestPyPi - PullRequest
0 голосов
/ 10 июня 2019

tl; dr - Как загрузить новый выпуск в проект TestPyPi?

Описание: Я следовал этим инструкциям в Руководстве пользователя пакета Python, чтобы импортировать тестовый пакет в TestPyPi. Однако в загруженном пакете произошла ошибка. Я исправил ошибку и попытался перезаписать пакет, но обнаружил следующую ошибку:

Код:

python3 -m twine upload --repository-url https://test.pypi.org/legacy/ dist/*

Ошибка:

HTTPError: 400 Client Error: File already exists. See https://test.pypi.org/help/#file-name-reuse for url: https://test.pypi.org/legacy/

При переполнении стека я обнаружил сообщение о том, что пакет TestPyPi не может быть перезаписан . Однако сам TestPyPi указывает, что выпуск версии должен быть возможен.

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

Как загрузить новый выпуск в проект TestPyPi?

Ответы [ 2 ]

0 голосов
/ 02 июля 2019

Вам нужно увеличить версию в setup.py и перезапустить setup.py;например, python3 setup.py sdist bdist_wheel или аналогичный.Хорошая идея rm -rf dist build и удалить файл egg-info тоже.

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

0 голосов
/ 10 июня 2019

TestPyPI и даже сам PyPI имели возможность повторно использовать имена файлов.Но после перехода на Warehouse (новый код за PyPI и TestPyPI) они потеряли эту способность.Невозможно повторно загрузить одно и то же имя файла.

Увеличить версию, заново создать пакеты и загрузить новые пакеты с новыми именами.

...