Как загрузить новые версии проекта в PyPI с помощью шпагата?

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

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

Теперь, как загрузить новую версию без ошибок?!

Ответ 1

PyPI не допускает повторного использования имен файлов рассылки (имя проекта + номер версии + тип рассылки).

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

Вам нужно будет изменить номер версии на тот, который вы ранее не загружали в PyPI.

Вы не упомянули, как вы загружаете дистрибутив, но если вы используете шпагат, возможно, вы пытаетесь загрузить ранее загруженный дистрибутив. Чтобы решить эту проблему, вы можете сделать:

$ twine upload --skip-existing dist/*

Ответ 2

Вам нужно изменить номер версии.

Ответ 3

Может получить эту ошибку по следующим причинам:

  • Не изменили свою версию в setup.py
  • не удалил ваш предыдущий файл dist

Решение:

  • Измените номер версии в setup.py.
  • Запустите установочный файл снова. python setup.py bdist_wheel.
  • Загрузить только этот файл dist или запустить шпагат (если используете). twine upload --skip-existing dist/*

Как уже упоминалось @dustin, файл dist с тем же именем не может быть загружен снова.

Ответ 4

Он работает в вашем браузере, без каких-либо особых зависимостей. Кроме того, это действительно легко, если вы используете специальный инструмент для публикаций.

Попробуйте эту библиотеку для этого https://pypi.org/project/how-to-upload-package-to-pypi/