Après pypi.python.org a été migré vers pypi.org , j'ai reçu une erreur lors de la tentative de téléchargement d'un package vers PyPI en utilisant la commande comme d'habitude:
python2.7 setup.py sdist upload
Le message d'erreur est:
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)
J'ai cherché la solution mentionnée dans le message, puis j'ai recherché un peu sur Google. Malheureusement, les solutions que j'ai trouvées ne fonctionnaient pas, y compris la mise à jour de mon fichier ~/.pypirc
Local. Comme ça:
[distutils]
index-servers =
pypi
[pypi]
repository:https://pypi.python.org/pypi or repository:https://upload.pypi.org/legacy/
username:yourusername
password:yourpassword
J'ai toujours le même message d'erreur. Que devrais-je faire?
Mise à niveau vers les tout derniers pip et setuptools; installer la ficelle:
pip install -U pip setuptools twine
Éditer ~/.pypirc
et commentez ou supprimez repository
:
[pypi]
#repository:https://pypi.python.org/pypi
Utilisez la ficelle pour télécharger votre module sur pypi à partir du dossier contenant la source du module, setup.py et d'autres fichiers:
python setup.py sdist
twine upload dist/*
Voir https://packaging.python.org/guides/migrating-to-pypi-org/#uploading
Si vous recherchez une solution héritée, essayez de mettre à jour votre ~/.pypirc
fichier vers ce
[distutils]
index-servers =
pypi
[pypi]
repository: https://upload.pypi.org/legacy/
username: username
password: password
Et courir
python setup.py sdist upload -r pypi
Je ne sais pas si cela fonctionnera tout de suite. Depuis que j'ai fait plusieurs choses pour le faire fonctionner, comme
twine
si votre système ne l'a pas encorepip
, setuptools
et twine
par phd suggestion depip3 install -U pip setuptools twine
pourrait aiderJe recommande d'utiliser de la ficelle.
Installez-le simplement:
pip install twine
Et faites simplement:
twine upload dist/*
Remarque: faites-le depuis la racine de votre projet