Kuidas oma pythoni paketti PyPisse üles laadida
PyPi paketi register on üks omadustest, mis muudab pythoni nii võimsaks: Ainult lihtsa käsuga pääsete juurde tuhandetele lahedatele raamatukogudele, mis on teie jaoks kasutamiseks valmis. Selles lühitutvustuses selgitan, kuidas saate üles laadida oma koodi PyPi-sse ja lasta teistel oma leiutistest kasu saada. Järgmistel lehtedel näitan teile järgmisi samme:
- Pange oma kood avaldamiseks valmis
- Looge pythoni pakett
- Looge failid, mida PyPi vajab
- Looge PyPi-konto
- Laadige oma pakett üles saidile github.com
- Laadige oma pakett üles PyPi-sse
- Paigaldage oma pakett pipi abil
- Muutke oma paketti
Aga mis on PyPi?
Noh, vastavalt nende veebisaidile:
Pythoni paketiindeks (PyPI) on Pythoni programmeerimiskeele tarkvara hoidla. PyPI aitab teil leida ja installida Pythoni kogukonna arendatud ja jagatud tarkvara. Lugege pakettide installimise kohta. Paketi autorid kasutavad tarkvara levitamiseks PyPI-d. Siit saate teada, kuidas Python-koodi PyPI-le pakkida.
Kuidas PyPi kasutada?
Olen kindel, et enamik teist on juba PyPi (pip) installinud ja sellega töötanud. Kui te pole seda teinud, siis kindlasti peaksite! See on sama lihtne kui selle faili allalaadimine. Nüüd avage käsuviip ja liikuge “cd” kaudu kataloogi, kus allalaaditud fail asub. Seejärel käivitage käsk “python get-pip.py”.
cd "C: // PATH // TO // YOUR // DOWNLOADED // FAIL" python get-pip.py
Pipi kasutamiseks tippige konsooli „pip insall paketinimi”. Kui soovite installida skreepeasy, sisestage järgmine käsk:
pip paigaldada scrapeasy
Kas saite tõrke, mille kohaselt „pip” ei tuvastata sisemise ega välise käsu, töötava programmi ega pakkfailina? Ärge paanitsege, see on meil käes. Teie pip-skripti pole Windowsi keskkonnamuutujates, nii et te ei pääse sellele juurde oma süsteemi kõikjalt. Parandame selle järgmise käsuga:
setx PATH "% PATH%; C: // KUS // PYTHON // ON // PAIGALDATUD // Skriptid"
Või näiteks
setx PATH "% PATH%; C: \ Python36 \ Scripts"
See peaks nüüd toimima.
Pange oma kood avaldamiseks valmis
Valmistame teie üleslaadimiseks ette koodi. Esiteks peate oma koodist eemaldama kõik printimisväljavõtted. See on tüütu, kui töötate raamatukoguga ja teie käsuviip on üle ujutatud prindisõnumitega, mis pole teie oma - seetõttu eemaldage need kõik. Kui soovite kasutajat teatud tegevustest teavitada, kasutage logimist.
Ärge kindlasti lisage koodi, mis eksisteerib väljaspool funktsiooni klassi, vastasel juhul töötab see kood iga kord, kui keegi teie teeki impordib. Kui soovite klassidesse lisada näidiskoodi (mis on legitiimne), mähkige see funktsiooni „__main__”.
kui __name__ == "__main__": teie näidiskood läheb siia
Looge pythoni pakett
Paketi loomiseks looge kaust, mille nimi on täpselt see, kuidas soovite oma paketti nimetada. Paigutage sellesse kausta kõik failid ja klassid, mida soovite saata.
Nüüd looge fail nimega __init__.py (jälle kaks alakriipsu). Avage fail valitud tekstiredaktoriga. Selles failis ei kirjuta te muud kui impordite avaldusi, millel on järgmine skeem:
paketinimest.Faili nimi import Klassinimi
Faili __init__.py kasutatakse selleks, et märkida, millistele klassidele soovite paketi liidese kaudu juurdepääsu. Toome näite. Oletame, et soovite üles laadida raamatukogu nimega “MyLib” PyPi-sse. Esiteks looge kaust nimega “MyLib” ja pange klassid selle sisse.
MyLib
-Class1.py
-Class2.py
Seejärel eemaldage kõik prindiavaldused ja kood, mis ei asu klassis.
Lõpuks looge fail __init.py __- ja importige kõik meetodid, millele kasutaja peaks juurde pääsema.
MyLib
-__init__.py
-Fail1.py
-Fail1.py
# __Init__.py sees MyLib.File1-st impordi klass A, klassB, klassC saidist MyLib.File2 importige klass X, klassY, klassZ
Looge PyPi-konto
PyPi konto jaoks saate end siin registreerida. Pidage meeles oma kasutajanime (mitte nime, mitte e-posti aadressi) ja parooli, vajate seda hiljem üleslaadimiseks.
Laadige oma pakett üles saidile github.com
Looge githubi repo, mis sisaldab kõiki faile, mida me sekundiga loome, aga ka teie paketi kausta. Pange repo täpselt pakendiks. Sellise repo näite leiate siit.
Looge failid, mida PyPi vajab
PyPi vajab töötamiseks kolme faili:
- setup.py
- setup.cfg
- LITSENTS.txt
- README.md (optiline, kuid väga soovitatav)
Pange kõik need failid väljaspool oma paketi kausta:
MyLib
setup.py
setup.cfg
LITSENTS.txt
README.md
Vaatame need failid ükshaaval läbi
setup.py
Fail setup.py sisaldab teavet teie paketi kohta, mida PyPi vajab, näiteks selle nime, kirjeldust, praegust versiooni jne. Kopeerige ja kleepige järgmine kood ja asendage stringid vastava sisuga:
saidilt distutils.core impordi häälestus seadistamine ( name = 'YOURPACKAGENAME', # Kuidas te oma paketi kausta nimetasite (MyLib) Paketid = ['YOURPACKAGENAME'], # Valis sama, mis "nimi" version = '0,1', # Alustage väikese numbriga ja suurendage seda iga tehtud muudatusega litsents = 'MIT', # Valige litsents siit: https://help.github.com/articles/licensing-a-repository description = 'TÜÜBI OMA KIRJELDUS SIIN', # Andke oma raamatukogu kohta lühike kirjeldus author = 'OMA NIMI', # Sisestage oma nimi author_email = 'email@example.com', # Sisestage oma e-post url = 'https://github.com/user/reponame', # Esitage link oma githubile või oma veebisaidile download_url = 'https://github.com/user/reponame/archive/v_01.tar.gz', # Selgitan seda hiljem märksõnad = ['MÕNED', 'MEANINGFULL', 'MÄRKSÕNAD'], # märksõnad, mis määravad teie paketi kõige paremini install_requires = [# Selleni jõuan sekundiga valideerijad, 'beautifulsoup4', ], klassifikaatorid = [ 'Arenguseisund: 3 - alfa', # valis teie paketi hetkeseisuks kas 3 - alfa, 4 - beeta või 5 - tootmine / stabiilne
'Sihtitav vaatajaskond :: arendajad', # Määratlege, et teie vaatajaskond oleks arendaja 'Teema :: Tarkvaraarendus :: Ehitustööriistad',
'Litsents :: OSI kinnitatud :: MIT litsents', # Valige jällegi litsents
'Programmeerimiskeel :: Python :: 3', # Täpsustage, milliseid pühtoni versioone soovite toetada 'Programmeerimiskeel :: Python :: 3.4', 'Programmeerimiskeel :: Python :: 3.5', 'Programmeerimiskeel :: Python :: 3.6', ], )
Las ma selgitan download_url ja install_ nõuab natuke edasi.
download_url
Olete oma projekti varem oma githubi hoidlasse üles laadinud. Nüüd loome githubis teie projekti uue väljalaskeversiooni. Seejärel laadib selle väljalaske alla igaüks, kes käitab käsku “pip install YourPackage”.
Esiteks minge saidile github.com ja liikuge oma hoidlasse. Järgmisena klõpsake vahekaarti "väljalasked" ja siis "Loo uus väljaanne". Nüüd määratlege sildi versioon (kõige parem on kasutada sama numbrit, mida kasutasite oma väljale setup.py versiooniväli: v_01. Lisage väljalase pealkiri ja kirjeldus (mitte nii oluline) ja klõpsake siis nuppu „avalda väljaanne“. Nüüd näete uut väljaannet ja jaotises Varad on link lähtekoodile (tar.gz). Paremklõpsake sellel lingil ja vali Kopeeri lingi aadress. Kleebi see lingiaadress faili setup.py väljale download_url. Iga kord, kui soovite oma paketti hiljem värskendada, laadige uus versioon githubisse üles, looge uus väljaanne, nagu me just arutasime, määrake uus väljalaskesilt ja kopeerige-kleepige link lähtekoodile failile setup.py (mitte unustage ka versiooninumbri suurendamine).
Install_nõudeid
Siin määratlete kõik teie paketi sõltuvused - kõik imporditavad pip-paketid. Lihtsalt öeldes: minge kõik oma klassid läbi ja vaadake, mida olete importinud. Iga pakett, mille olete impordinud ja pipi kaudu alla laadinud (kõige soovitatavalt kõik, välja arvatud standardsed teegid), tuleb siin loetleda installinõuetena, lisades paketi nime.
Lubage mul tuua teile näide
# Klassi 1 failis impordi numpy kui np skreipilt imporditud veebisaidilt impordi aeg
Paketid “tuimaks” ja “scrapeasy” laaditi alla pipi kaudu, nii et peate oma sõltuvusse lisama “tuimas” ja “scrapeasy”. Aga kuidas sa tead, kas pakett on tavakogu või allalaaditud pipi kaudu? Noh, lihtsalt avage oma cmd ja tippige pip install paketi nimi. Kui teil on nõue “juba täidetud”, on teil hea minna. Kui kuvatakse tõrge, mis väidab: „Nõuetele vastavat versiooni ei õnnestunud leida”, siis teate, et seda paketti pole installitud pipi või tavalise teegi kaudu.
Saadud install_requires väli näeks välja järgmine:
install_requires = [ 'tuimaks', "kriimustatud", ],
setup.cfg
See on lühike. Looge uus fail nimega „setup.cfg“. Kui teil on kirjeldusfail (ja kindlasti peaksite seda tegema!), Saate selle täpsustada siin:
# Setup.cfg sees [metaandmed] kirjeldus-fail = README.md
LITSENTS.txt
Selle faili abil saate määratleda kõik litsentsi üksikasjad. Kõige soovitavam on lihtsalt kopeerida ja kleepida sellelt veebisaidilt litsentsi tekst faili LICENSE.txt. Kasutan oma projektide jaoks alati MIT-litsentsi, kuid kasutage julgelt ka oma.
MIT litsents
Autoriõigus (c) 2018 OMA NIMI
Luba antakse kõigile, kes selle koopia saavad, tasuta selle tarkvara ja sellega seotud dokumentatsioonifailide ("Tarkvara") abil Tarkvaras ilma piiranguteta, sealhulgas õiguste piiramata kasutada, kopeerida, muuta, ühendada, avaldada, levitada, all-litsentsida ja / või müüa Tarkvara koopiad ja lubada isikutel, kellele see tarkvara kuulub mis on ette nähtud järgmistel tingimustel:
Ülaltoodud autoriõiguse teatis ja see loataotlus peavad olema lisatud kõigisse tarkvara koopiad või olulised osad.
TARKVARA OSUTATAKSE "SEISAKS, MIS ON", MISTE MISTE NING VÄLISTE VÕI GARANTIIDEGA KAUDSED, SEALHULGAS, KUID Piiramata turukõlblikkuse garantiidega, KONKREETSEKS EESMÄRGIS SÕLMIMINE JA RIKKUMISE KORRALDAMINE. Ühelgi juhul ei tohi AUTORID VÕI Autoriõiguse omanikud vastutavad mis tahes nõude, kahju või muu eest VASTUTUS LEPINGU, KAASAMISE VÕI MUUDE TEGEVUSEGA, MIS TULENEVAD, TARKVARA VÕI KASUTAMISE VÕI MUUDE TEHINGUTEGA SEOTUD VÕI SEOSES TARKVARA.
README.md (valikuline)
Looge selle ilusa veebisaidiga märgistusfail, laadige see alla ja pange see oma kataloogi.
Laadige oma pakett üles PyPi-sse
Nüüd on jõudnud viimane samm: projekti üleslaadimine PyPi-sse. Esiteks avage käsuviip ja liikuge kausta, kus asuvad kõik failid ja pakett:
cd "C: // PATH // TO // // YOUR // FOLDER"
Nüüd loome allikajaotuse järgmise käsuga:
python setup.py sdist
Võite saada hoiatuse, mis ütleb: „Tundmatu levitamisvalik:“ install_requires ”. Lihtsalt ignoreeri seda.
Üleslaadimiseks vajame nööri, nii et kõigepealt paigaldage nöör pipi kaudu:
pip paigaldage nöör
Seejärel käivitage järgmine käsk:
nööri üleslaadimine dist / *
Teil palutakse sisestada oma kasutajanimi ja parool. Esitage mandaadid, mida kasutasite varem PyPi-s registreerimiseks.
Palju õnne, teie pakett on nüüd üles laaditud! Oma paketi veebis vaatamiseks külastage lehte https://pypi.org/project/YOURPACKAGENAME/!
Paigaldage oma pakett pipi abil
Olgu, proovime seda nüüd proovida. Avage konsool ja tippige järgmine käsk:
pip installima YOURPACKAGENAME
See töötab! Nüüd avage python SHELL / IDLE ja importige oma pakett.
Muutke oma paketti
Kui hooldate oma paketti hästi, peate aeg-ajalt muutma lähtekoodi vormi. See on lihtne. Laadige lihtsalt uus kood githubisse üles, looge uus väljaanne ja kohandage seejärel setup.py-faili (uus download_url - vastavalt teie uuele väljalaskesildile, uus versioon), seejärel käivitage uuesti setup.py ja käsk twin (liikuge oma esmalt kaust!)
python setup.py sdist nööri üleslaadimine dist / *
Lõpuks värskendage oma paketti pipi kaudu, et näha, kas teie muudatused toimisid:
pip install YOURPACKAGE --uuendus