Vse se začne s vprašanjem, kako lahko ustvariš in učinkovito porazdeliš svoje Python-pakete. V tem priročniku ti bom pokazal, kako postopoma razviti paket, ki ga lahko ponudiš drugim. Pri tem je nujno ustvariti prave datoteke in zagotoviti pravilno strukturo. To omogoča ostalim, da enostavno namestijo in uporabljajo tvoj paket. Poglejmo torej in raziskujmo osnove porazdelitve paketov.
Glavne ugotovitve
- Ustvari datoteko setup.py, ki vsebuje vse metapodatke tvojega paketa.
- Dodaj datoteko manifest, ki našteti vse datoteke, ki niso Python.
- Uporabi pravilno ukazno vrstico v terminalu za ustvarjanje distribucije.
- Razpakirani paket se lahko enostavno predloži za namestitev.
Navodila po korakih
Obstaja nekaj ključnih korakov, ki jih moraš slediti, da ustvariš svoj lasten Python paket. Spodaj je podrobno navodilo s posnetki zaslona, ki ti pokaže pot do lastne porazdelitve paketov.
Ustvarjanje strukture imenika
Najprej moraš pripraviti pravo strukturo imenikov za svoj paket. Ustvari glavni imenik, ki vsebuje vse datoteke in podimenike, vključno z izvorno kodo, dokumentacijo in licenčnimi informacijami.

V tem primeru pripravljam preprosto strukturo z datoteko README.md in licenčno datoteko. Uporabiš lahko GPL licenco, da določiš pravice svojega paketa.
Definiranje strukture API
Da bo tvoj paket uporaben, potrebuješ vsaj dokumentacijo API in osnovno klaso, od katere lahko druge klase dedujejo. Ta struktura pomaga omogočiti razširitve in prilagoditve tvojega paketa.

Preprosta API in osnovna skladiščna klasa bi lahko nudila odličen začetek.
Ustvarjanje datoteke setup.py
Osrednja komponenta tvojega paketa je datoteka setup.py. Tukaj definiraš vse potrebne informacije o projektu, ki so potrebne pri procesu namestitve.

V tej datoteki uvoziš potrebne module in navedeš osnovne podrobnosti svojega paketa, vključno z imenom, avtorjem, e-pošto, številko verzije in spletno stranjo.
Navodila za potrebne pakete
Moraš se prepričati, da so navedene vse odvisnosti tvojega paketa. To storiš v datoteki setup.py, tako da dodaš seznam paketov, ki jih je treba dostaviti s tvojim paketom.

Sem dodaj vse potrebne podpakete, na primer osnovno klaso in specifične obsežne klase.
Ustvarjanje datoteke manifest
Da se prepričaš, da so vse relevantne datoteke, ki niso Python, vključene v tvoj paket, ustvari datoteko manifest. Ta datoteka navaja vse datoteke, ki jih je treba upoštevati pri pakiranju.

V tej datoteki navedeš, katere tipe datotek je treba vključiti v paket, ter imenike, kot je na primer dokumentacija.
Terminalski ukazi za ustvarjanje distribucije
Zdaj je čas, da ustvariš paket. Odpri svoj terminal in se premakni v imenik svoje datoteke setup.py. Tukaj lahko izvedeš ukaz za ustvarjanje paketa.

Preverjanje ustvarjenih datotek
Po ustvarjanju distribucije bi moral najti imenik z imenom dist, ki vsebuje zapakiran paket.

Sedaj lahko to datoteko deliš ali namestiš.
Namestitev paketa
Da se prepričaš, da paket deluje pravilno, ga lahko ponovno namestiš. Za to razpakiraš imenik in ponovno izvedeš datoteko setup.py.

Za uporabnike, ki nimajo skrbniških pravic, lahko izvedeš ukaz za namestitev za trenutnega uporabnika:
Distribucija za uporabnike
Če želiš porazdeliti svoj paket, se prepričaj, da so vse datoteke, kot so README.md, licenca in datoteka setup.py, priložene. To zagotavlja, da se paket lahko pravilno namesti, takoj ko si ga uporabnik prenese.

Tukaj je tvoj paket pripravljen na datotečnem sistemu in ga lahko deliš z drugimi.
Povzetek – pravilno pakiraj svoje Python pakete
Zdaj si se naučil, kako ustvariti celovito strukturo za svoje Python pakete in uspešno generirati distribucijo, ki jo lahko enostavno porazdeliš. Od ustvarjanja strukture imenikov do namestitve s strani končnega uporabnika si prešel vse korake, da učinkovito porazdeliš svoj paket.
Pogosta vprašanja
Kako ustvarim datoteko manifest?Datoteko manifest lahko ustvariš ročno in navedeš datoteke, ki jih tvoj paket vsebuje.
Kaj moram dodati v datoteko setup.py?Datoteka setup.py bi morala vsebovati ime paketa, avtorja, e-poštni naslov, številko verzije in vse potrebne odvisnosti.
Kako namestim paket po ustvarjanju?Paket lahko lokalno namestiš tako, da se v terminalu premakneš v imenik svojega paketa in izvedeš ukaz python setup.py install.
Kakošno licenco naj izberem za svoj paket?Licenca GNU GPL se pogosto izbira, da zaščiti prosto programsko opremo in njen izvorni kodo. Lahko pa razmisliš tudi o drugih licencah.
Ali lahko svoje pakete objavim tudi na PyPI?Da, svoj paket lahko objaviš na Python Package Index (PyPI), da ga narediš dostopnega širokemu občinstvu.