Не удалось загрузить пакеты в PyPI: 410 Gone
После pypi.python.org перенесен на pypi.org, я получил сообщение об ошибке при попытке загрузить пакет в PyPI, используя как обычно:
python2.7 setup.py sdist upload
Сообщение об ошибке:
Upload failed (410): Gone (This API has been deprecated and removed from legacy PyPI in favor of using the APIs available in the new PyPI.org implementation of PyPI (located at https://pypi.org/). For more information about migrating your use of this API to PyPI.org, please see https://packaging.python.org/guides/migrating-to-pypi-org/#uploading. For more information about the sunsetting of this API, please see https://mail.python.org/pipermail/distutils-sig/2017-June/030766.html)
Я рассмотрел решение, упомянутое в сообщении, а затем немного искал. К сожалению, решения, которые я нашел, не работали, включая обновление локального файла ~/.pypirc
. Вот так:
[distutils]
index-servers =
pypi
[pypi]
repository:https://pypi.python.org/pypi or repository:https://upload.pypi.org/legacy/
username:yourusername
password:yourpassword
У меня все же есть сообщение об ошибке. Что мне делать?
Ответы
Ответ 1
Обновление до самых последних настроек pip и setuptools; установить шпагат:
pip install -U pip setuptools twine
Измените ~/.pypirc
и закомментируйте или удалите repository
:
[pypi]
#repository:https://pypi.python.org/pypi
Используйте шпагат для загрузки вашего модуля в pypi из папки, содержащей источник модуля, setup.py и другие файлы:
python setup.py sdist
twine upload dist/*
См. https://packaging.python.org/guides/migrating-to-pypi-org/#uploading
Ответ 2
Если вы ищете устаревшее решение, попробуйте обновить файл ~/.pypirc
на этом
[distutils]
index-servers =
pypi
[pypi]
repository: https://upload.pypi.org/legacy/
username: username
password: password
И запустив
python setup.py sdist upload -r pypi
Не уверен, что это сработает сразу. Поскольку я сделал несколько вещей, чтобы заставить его работать, например
- Обновление как python, так и python3 (я все еще на 2.7.12 и 3.5.2)
- Установка
twine
, если ваша система еще не имеет ее
- Обновление
pip
, setuptools
и twine
за phd предложение
- Также
pip3 install -U pip setuptools twine
может помочь
Ответ 3
Я рекомендую использовать шпагат.
Просто установите его:
pip install twine
И просто выполните:
twine upload dist/*
Примечание. Сделайте это из корня вашего проекта