Les débutants en Python étaient accros à l'enregistrement de leurs propres packages dans PyPI, version de février 2017

L'autre jour, j'aimerais vous présenter ce avec quoi j'ai eu du mal lorsque j'ai enregistré mon propre package pour la première fois avec PyPI. La première chose à laquelle je suis accro, c'est que vous devez utiliser de la ficelle et que le nom du paquet n'est pas approprié.

Au départ, j'ai recherché et recherché des moyens d'enregistrer des packages avec PyPI, et de nombreux blogs et articles ont montré les étapes suivantes.

no work URL de référence/command
1 Création de code source
2 Organiser la structure des dossiers Python:Inclure les fichiers de données dans votre propre package
3 setup.Créer py Procédure d'inscription PyPI pour ceux qui veulent faire leurs débuts PyPI
4 Construction de distribution >>python setup.py sdist
5 Tester l'installation >>python setup.py install
6 Créer un compte dans PyPI pour le test Destination d'enregistrement
7 .Créer pypirc Enregistrez le package avec PyPI
8 Enregistrez le nom du package >>python setup.py register -r pypitest
9 Télécharger le package >>python setup.py sdist upload -r pypitest
10 Créer un compte sur PyPI pour la production Destination d'enregistrement
11 Enregistrez le nom du package >>twine register dist/*
12 Télécharger le package >>twine upload dist/*
13 Tester l'installation >>nom du package d'installation pip

Twine, PyPi pour test, lié à ".pypirc" est complété.

-Il est nécessaire de créer des comptes séparés pour PyPi pour le test et PyPi pour la production.

sample


file:.pypirc
        [distutils]
        index-servers =
            pypi
            pypitest

        [pypi]
        repository: https://pypi.python.org/pypi
        username: worst
        password: Salary_burglar

        [pypitest]
        repository: https://testpypi.python.org/pypi
        username: learner
        password: Being_late

#Si la définition du serveur est pypitest, spécifiez comme suit

>>python setup.py register -r pypitest
>>python setup.py sdist upload -r pypitest

J'étais accro à ça 1

Tout s'est bien déroulé jusqu'à ce que je m'inscrive chez PyPI pour un test. Si vous avez une longue histoire de Python, cela prendra moins de 5 minutes. Lorsque j'ai enregistré le nom du package sur le serveur de production de PyPI, j'ai eu l'erreur suivante et je me suis arrêté.

Server response (410): This API is no longer supported, instead simply upload the file.

Il semble que vous puissiez utiliser la ficelle au lieu du registre python setup.py, ou enregistrer PKG-INFO directement avec l'url suivante.

https://pypi.python.org/pypi?%3Aaction=submit_form

sample


#Ancienne façon
python setup.py register
python setup.py sdist upload

#Nouvelle façon
pip install twine #Installer si nécessaire
twine register dist/*
twine upload dist/*

C'est vers 2014 que cette méthode est devenue recommandée (elle est désormais obligatoire car elle n'est plus prise en charge)? Ainsi, les articles jusqu'en 2014 sont introduits à l'ancienne.

Et tandis que PyPi for test peut être enregistré avec l'ancienne méthode, PyPi for production ne peut être enregistré qu'avec la nouvelle méthode, qui est l'endroit le plus facile pour devenir accro.


Où j'étais accro à la partie 2

C'est simple. Le nom du package que vous tentiez d'enregistrer était déjà utilisé par quelqu'un d'autre. Dans la réponse, j'ai immédiatement remarqué qu'il ne pouvait pas être précisé s'il était déjà utilisé, mais ... c'est un festival plus tardif.

Lorsque j'essaye d'enregistrer PKG-INFO sur le WEB avec un nom utilisé, la réponse suivante est renvoyée.

Forbidden You are not allowed to store 'picker' package information

Lorsque j'utilise de la ficelle, j'obtiens le message suivant:

HTTPError: 403 Client Error: You are not allowed to edit 'picker' package information for url: https://pypi.python.org/pypi

Pour vérifier le bâton, recherchez le site PyPi pour le vérifier.

https://pypi.python.org/pypi

Recherchez "pip recherchez le nom que vous souhaitez utiliser".

Si vous en avez, veuillez utiliser "pip search *> list.txt" pour obtenir la liste complète et y jeter un coup d'œil.

Recommended Posts

Les débutants en Python étaient accros à l'enregistrement de leurs propres packages dans PyPI, version de février 2017
Je veux trouver un package populaire sur PyPi
Comment enregistrer un package dans PyPI (à partir de septembre 2017)
J'étais un peu accro à l'installation de Python3.3 + mod_wsgi3.4 sur Sakura VPS (CentOS), donc une note de révision
Une note à laquelle j'étais accro lors de l'émission d'un bip sous Linux
Enregistrez le package avec PyPI
Générer semi-automatiquement une description du package à enregistrer dans PyPI
J'étais accro à Flask sur dotCloud
Ce que j'étais accro à Python autorun
Une note à laquelle j'étais accro lors de l'exécution de Python avec Visual Studio Code
Une histoire à laquelle j'étais accro après la communication SFTP avec python
[Version 2020] Comment installer Python3 sur EC2 d'AWS
Exporter la version Python3 OpenCV KeyPoint dans un fichier
J'étais sobrement accro à appeler awscli à partir d'un script Python 2.7 enregistré dans crontab
Une histoire bloquée lors de la tentative de mise à niveau de la version Python avec GCE
Comment créer un environnement Django (python) sur Docker
J'étais accro au grattage avec Selenium (+ Python) en 2020
Une histoire à laquelle j'étais accro chez np.where
Comment créer un environnement Python sur Amazon Linux 2
Ce à quoi j'étais accro lors de l'utilisation de Python tornado
Publier / télécharger une bibliothèque créée en Python vers PyPI
Une histoire à propos d'un débutant en Python qui était sur le point d'être écrasé par ModuleNotFoundError: Aucun module nommé 'weepy'