Neulich möchte ich vorstellen, womit ich zu kämpfen hatte, als ich mein eigenes Paket zum ersten Mal bei PyPI registriert habe. Das erste, worauf ich süchtig bin, ist, dass Sie Schnur verwenden müssen und der Paketname nicht angemessen ist.
Anfangs suchte und suchte ich nach Möglichkeiten, Pakete bei PyPI zu registrieren, und viele Blogs und Artikel zeigten die folgenden Schritte.
no | work | Referenz-URL/command |
---|---|---|
1 | Erstellung des Quellcodes | |
2 | Ordnen Sie die Ordnerstruktur | Python:Fügen Sie Datendateien in Ihr eigenes Paket ein |
3 | setup.Erstellen Sie py | PyPI-Registrierungsverfahren für diejenigen, die ihr PyPI-Debüt geben möchten |
4 | Verteilungsbau | >>python setup.py sdist |
5 | Installation testen | >>python setup.py install |
6 | Erstellen Sie ein Konto in PyPI zum Testen | Registrierungsziel |
7 | .Erstellen Sie pypirc | Registrieren Sie das Paket bei PyPI |
8 | Registrieren Sie den Paketnamen | >>python setup.py register -r pypitest |
9 | Paket hochladen | >>python setup.py sdist upload -r pypitest |
10 | Erstellen Sie ein Konto auf PyPI für die Produktion | Registrierungsziel |
11 | Registrieren Sie den Paketnamen | >>twine register dist/* |
12 | Paket hochladen | >>twine upload dist/* |
13 | Installation testen | >>Name des Pip-Installationspakets |
Ich werde die Schnur, PyPi für Test und ".pypirc" verwandte Elemente ergänzen.
-Es ist erforderlich, separate Konten für PyPi für den Test und PyPi für die Produktion zu erstellen.
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
#Wenn die Serverdefinition pypitest ist, geben Sie Folgendes an
>>python setup.py register -r pypitest
>>python setup.py sdist upload -r pypitest
Es lief reibungslos, bis ich mich bei PyPI zum Test anmeldete. Wenn Sie eine lange Geschichte von Python haben, dauert es weniger als 5 Minuten. Als ich den Paketnamen auf dem Produktionsserver von PyPI registrierte, wurde der folgende Fehler angezeigt und gestoppt.
Server response (410): This API is no longer supported, instead simply upload the file.
Es scheint, dass Sie Twine anstelle des Registers python setup.py verwenden oder PKG-INFO direkt mit der folgenden URL registrieren können.
https://pypi.python.org/pypi?%3Aaction=submit_form
sample
#Alter Weg
python setup.py register
python setup.py sdist upload
#Neuer Weg
pip install twine #Bei Bedarf installieren
twine register dist/*
twine upload dist/*
Es war ungefähr 2014, als diese Methode empfohlen wurde (sie ist jetzt erforderlich, da sie nicht mehr unterstützt wird). So werden die Artikel bis 2014 auf die alte Art eingeführt.
Und während PyPi für den Test mit der alten Methode registriert werden kann, kann PyPi für die Produktion nur mit der neuen Methode registriert werden. Dies ist der einfachste Ort, um sich zu verlieben.
Das ist einfach. Der Paketname, den Sie registrieren wollten, wurde bereits von einer anderen Person verwendet. In der Antwort bemerkte ich sofort, dass es nicht spezifiziert werden konnte, wenn es bereits verwendet wurde, aber ... ist ein späteres Festival.
Wenn ich versuche, PKG-INFO mit einem verwendeten Namen im WEB zu registrieren, wird die folgende Antwort zurückgegeben.
Forbidden You are not allowed to store 'picker' package information
Wenn ich Bindfaden verwende, wird folgende Meldung angezeigt:
HTTPError: 403 Client Error: You are not allowed to edit 'picker' package information for url: https://pypi.python.org/pypi
Durchsuchen Sie die PyPi-Site, um die Wimper zu überprüfen.
https://pypi.python.org/pypi
Suchen Sie nach "pip search the name, den Sie verwenden möchten".
Wenn Sie eine davon haben, verwenden Sie bitte "pip search *> list.txt", um die vollständige Liste zu erhalten und einen Blick darauf zu werfen.
Recommended Posts