Как загрузить новые версии проекта в 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/