Julkaiseminen twinellä
Lataa PyPI:hin
Julkaiseminen twinellä on ilmainen Python Academy-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Python Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Python Academy-kurssilla on yhteensä 4 oppituntia.
Viimeinen vaihe
Olette luoneet artefaktit hakemistoon dist/. Viimeinen vaihe on niiden lataaminen PyPI:hin, jotta koko maailma voi asentaa pakettinne komennolla pip install. Tähän käytetään yleensä työkalua twine.
twine lataa tiedostot turvallisesti HTTPS-yhteyden kautta ja tarkistaa artefaktit ennen niiden lähettämistä.
twinen asentaminen
Asentakaa se komennolla pip install twine. Se on pieni ja tarkasti rajattu työkalu: sen ainoa tehtävä on tarkistaa ja ladata hakemiston dist/ tiedostot. Se ei rakenna mitään.
Ensin TestPyPI
Latausten harjoittelua varten on erillinen testiympäristö, TestPyPI. Julkaiskaa sinne ensin, jotta voitte löytää ongelmat sotkematta oikeaa pakettihakemistoa. TestPyPI:n nimet ja versiot ovat riippumattomia PyPI:stä.
Ladatkaa paketti komennolla twine upload --repository testpypi dist/*.
Tarkistus ennen lataamista
twine check dist/* tarkistaa, että metatiedot ja pitkä kuvaus näkyvät PyPI:ssä oikein. Suorittakaa tarkistus joka kerta: muuten rikkinäinen README-kuvaus voi näkyä projektisivullanne pelkkänä tekstinä.
files = ['mytool-0.1.0.tar.gz', 'mytool-0.1.0-py3-none-any.whl']
for f in files:
status = 'PASSED' if f.endswith(('.gz', '.whl')) else 'SKIP'
print('check', f, '->', status)API-tunnukset, ei salasanoja
Tunnistautukaa PyPI-tililtänne saatavalla API-tunnuksella, älkää salasanallanne. Käyttäkää käyttäjänimenä __token__ ja salasanana tunnusta, joka alkaa merkkijonolla pypi-. Tunnuksen voi rajata koskemaan yksittäistä projektia, ja sen voi perua milloin tahansa.
username = '__token__'
token = 'pypi-AgEIcHl...'
print('Username:', username)
print('Token starts with:', token[:5])
print('Never commit the token to git')Tunnistetietojen tallentaminen
Välttäkää tunnusten kirjoittaminen uudelleen tallentamalla ne tiedostoon ~/.pypirc tai ympäristömuuttujiin (TWINE_USERNAME, TWINE_PASSWORD). Pitäkää tämä tiedosto versionhallinnan ulkopuolella ja vain omassa luvassanne luettavissa.
Lataaminen PyPI:hin
Kun TestPyPI näyttää hyvältä, julkaiskaa paketti oikeasti komennolla twine upload dist/*. Hetken kuluttua pakettinne voidaan asentaa kaikkialla maailmassa. Toimintoa ei voi perua: samaa versiota ei voi ladata uudelleen sen poistamisen jälkeen.
Versiot ovat muuttumattomia
PyPI ei koskaan salli julkaistun version korvaamista. Jos löydätte julkaisun jälkeen virheen, teidän on julkaistava uusi versio, esimerkiksi kasvattamalla patch-numeroa. Ottakaa tämä sääntö osaksi työnkulkuanne, jotta ette joudu umpikujaan.
published = {'1.0.0', '1.0.1'}
new_version = '1.0.1'
if new_version in published:
print(new_version, 'already on PyPI - bump and rebuild')
else:
print(new_version, 'is free to upload')Asennuksen varmistaminen
Varmistakaa lataamisen jälkeen, että kaikki toimii: luokaa uusi virtuaaliympäristö ja suorittakaa pip install mytool, ja tuokaa paketti sitten ohjelmaan. Puhtaasta ympäristöstä asentaminen paljastaa puuttuvat tiedostot ja riippuvuusvirheet, joita koonti ei havainnut.
Luotettu julkaiseminen
Modernit projektit voivat ohittaa manuaaliset tunnukset luotetulla julkaisemisella: PyPI todentaa CI-työnkulun, kuten GitHub Actionsin, suoraan OpenID Connectin avulla. Pitkäkestoista salaista tunnusta ei tallenneta mihinkään, mikä tekee menetelmästä turvallisemman.
twine huolehtii edelleen lataamisesta, mutta tunnistetiedot ovat lyhytkestoisia ja myönnetään suorituksen aikana.
Julkaisujen automatisointi
Yleinen käyttötapa käynnistää julkaisun, kun git-tunniste, kuten v1.0.0, lähetetään palveluun. CI-työnkulku rakentaa paketin, suorittaa komennon twine check ja lataa paketin automaattisesti. Tunnisteen luomisesta tulee ainoa version julkaiseva toimenpide.
Näin julkaisut pysyvät yhdenmukaisina ja manuaaliset latausvirheet jäävät pois.
Pikatarkistus
Testatkaa julkaisemisen osaamistanne.
Kertaus
Julkaisitte paketin:
pip install twineja sen jälkeentwine check dist/*- Harjoittelitte julkaisua TestPyPI:ssä ennen oikeaa lataamista
- Tunnistauduitte rajatulla API-tunnuksella (
__token__), ette koskaan salasanalla twine upload dist/*julkaisee paketin; versiot ovat muuttumattomia, joten virheiden korjaaminen edellyttää uuden version julkaisemista- Varmistitte asennuksen puhtaalla
pip install-komennolla
Opi Python tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 76
- Oppitunnit
- 320
Usein kysytyt kysymykset
Onko oppitunti ”Julkaiseminen twinellä” ilmainen?
Kyllä – oppitunnin ”Julkaiseminen twinellä” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Python Academy-kurssin, päivitä CoddyKit PROhon. Python Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Julkaiseminen twinellä”?
Lataa PyPI:hin Harjoittelet Python Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Python Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Python Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.
Kuinka kauan ”Julkaiseminen twinellä”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Python Academy-oppitunnilla?
Kyllä. Jokainen Python Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Projektirakenne ja pyproject.toml
- Koonti buildilla
- Versiointi ja metatiedot
- Julkaiseminen twinellä