web-dev-qa-db-fra.com

Comment télécharger de nouvelles versions de projet sur PyPI avec de la ficelle?

J'ai téléchargé mon package Python sur PyPI. Mais maintenant, j'ai créé une nouvelle version de mon package et je dois le télécharger. J'ai essayé de faire les mêmes progrès que lors de la première téléchargement du package. mais donnez-moi cette erreur:

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

Maintenant, comment télécharger une nouvelle version sans aucune erreur?!

22
Basel Akasha

PyPI ne permet pas la réutilisation des noms de fichiers de distribution (nom du projet + numéro de version + type de distribution).

Cela garantit qu'une distribution donnée pour une version donnée pour un projet donné sera toujours résolue dans le même fichier et ne pourra pas être modifiée subrepticement un jour par le responsable du projet ou une partie malveillante (elle ne peut être supprimée).

Vous devrez remplacer le numéro de version par celui que vous n'avez pas précédemment téléchargé sur PyPI.

Vous n'avez pas mentionné comment vous téléchargez la distribution, mais si vous utilisez de la ficelle, il est également possible que vous tentiez de télécharger une distribution précédemment téléchargée. Pour résoudre ce problème, vous pouvez:

$ twine upload --skip-existing dist/*
25
Dustin Ingram

Vous devez changer le numéro de version.

2
mklucz

Peut obtenir cette erreur pour les raisons suivantes:

  • N'a pas changé votre version dans setup.py
  • n'a pas supprimé votre fichier dist précédent

Solution:

  • Modifiez le numéro de version dans setup.py.
  • Exécutez à nouveau le fichier d'installation. python setup.py bdist_wheel.
  • Téléchargez uniquement ce fichier dist ou exécutez la ficelle (si vous utilisez). twine upload --skip-existing dist/*

Comme mentionné par @dustin, le fichier dist du même nom ne peut pas être téléchargé à nouveau.

1
Nelson Sequiera