Če ste razvijalec, morda veste, da je pri delu na katerem koli projektu Python ali projektu znanosti o podatkih bistveno, da vedno delate v okolju, ki omogoča ponovno uporabo in ponovljivost vašega projekta, ne da bi pri tem povzročali težave komur koli, ki se loti vašega projekta. Pred razpravo o tem, kako ustvariti datoteko .txt z zahtevami v Pythonu, nam povejte, kaj je zahtevek.txt in zakaj ga potrebujemo.
Kaj je datoteka requirement.txt v Pythonu?
notri Python requirement.txt datoteka je vrsta datoteke, ki običajno shranjuje informacije o vseh knjižnicah, modulih in paketih, ki se uporabljajo med razvojem določenega projekta. Shranjuje tudi vse datoteke in pakete, od katerih je ta projekt odvisen ali jih je treba izvajati. Običajno je ta datoteka 'requirement.txt' shranjena (ali se nahaja) v korenskem imeniku vaših projektov. Tu se pojavi še eno bistveno vprašanje, zakaj potrebujemo to vrsto datoteke v naših projektih.
Zakaj potrebujemo requirement.txt?
Pomaga nam na več načinov, tudi ko v prihodnosti ponovno obiščemo naš projekt, saj rešuje skoraj vse težave z združljivostjo. Če ste kdaj delali na katerem koli projektu Python ali razvili kateri koli projekt, zagotovo veste, da običajno potrebujemo več paketov. Pri razvoju projekta pa smo praviloma uporabljali določeno različico paketov. Pozneje lahko upravitelj paketov ali vzdrževalec naredi nekaj sprememb in te spremembe lahko zlahka pokvarijo vašo celotno aplikacijo. Zato je preveč dela slediti vsaki spremembi v paketih. Natančneje, če je projekt prevelik, je bistveno, da spremljamo vsak paket, ki ga uporabljamo, da se izognemo nepričakovanim presenečenjem.
Eden od standardnih načinov reševanja tovrstnih težav je uporaba virtualnega okolja. Razlog je v tem, da obstajata dve glavni vrsti paketov in lokacij, kjer so običajno shranjene knjižnice Python, med delom na določenem projektu pa običajno ne potrebujemo vseh vrst teh paketov; zato je treba vedeti, kateri je potreben za posamezen projekt, da se olajša ponovljivost.
jasmine davis kot otrok
Običajno vključuje naslednje datoteke:
- Sistemski paketi, ki so del standardne knjižnice Python
- Paketi spletnega mesta (paketi tretjih oseb), ki jih namestite s pomočjo pip.
Kaj je virtualno okolje?
Virtualno okolje je vrsta izoliranega ali umetnega delovnega prostora, ki ohranja uporabniške pakete ločene od lokalne (ali glavne) namestitve sistema. Omogoča nam, da ustvarimo 'virtualno' izolirano okolje za vsak projekt Python. To olajša, da je vsak projekt neodvisen od drugega projekta, še posebej, če imata enake odvisnosti. Na voljo so različni paketi, ki jih je mogoče uporabiti za ustvarjanje virtualnega okolja. Nekateri izmed osnovnih paketov so naslednji:
- virtualenv
- pipenv
Torej, ko je virtualno okolje ustvarjeno za naš projekt, si poglejmo, kako namestiti pakete in knjižnice. Zelo enostavno je pridobiti vse zahtevane pakete, ki jih potrebujemo za uporabo v našem projektu z virtualnim okoljem. Najprej si poglejmo, kako uporabljati 'virtualenv.'
A. virtualenv
Je vrsta knjižnice, ki nam omogoča ustvarjanje virtualnega okolja in njegovo uporabo. Za namestitev virtualenv lahko sledite podanim navodilom:
1. Odprite Cmd, vnesite naslednji ukaz in pritisnite gumb enter, kot je prikazano na spodnji sliki:
Ukaz
pip install virtualenv
Izhod
2. Ustvarjanje novega delovnega imenika za projekt
Zdaj ustvarite novo virtualno okolje znotraj imenika tega projekta, da se izognete nepotrebnim težavam.
Ukaz
Python3 -m venv name_of_env
Izhod
3. Za uporabo tega na novo ustvarjenega virtualnega okolja ga moramo samo aktivirati. Če želite aktivirati to izolirano okolje, vnesite naslednji ukaz in pritisnite gumb enter, kot je prikazano spodaj:
Ukaz
name_of_envirnmentScriptsactivate
Izhod
Če želite preveriti, ali je naše novo virtualno okolje ustvarjeno, lahko v pozivu vidite, da je predpona spremenjena z imenom vašega novega virtualnega okolja, kot v našem primeru smo naše virtualno okolje poimenovali 'name_of_envirnmnet'. To lahko preverite tudi tako, da odprete imenik projekta ali mapo, kjer bo ustvarjen nov imenik z navedenim imenom.
4. Zdaj pa si poglejmo, kako ustvariti datoteko requirement.txt
Če želite ustvariti datoteko requirement.txt, bo dobro vedeti, kaj vsebuje.
Datoteke requirement.txt vključujejo vse vrste standardnih paketov in knjižnic, ki se uporabljajo v določenem projektu. Zato ima ta datoteka requirement.txt bistveno vlogo pri razvoju kakršnih koli manjših ali večjih projektov. Prav tako nam pomaga narediti naše projekte bolj prenosljive.
S pomočjo datoteke 'requirement.txt' se je mogoče zlahka izogniti več večjim težavam. Da bi ga podrobneje razumeli, si lahko ogledate naslednji dani primer:
primer:
Recimo, da ste ustvarili nov projekt, na primer aplikacijo, ki je združljiva z določeno različico knjižnice in paketov. Tako iz nekega razloga to aplikacijo posredujete svojemu prijatelju.
Ker niste uporabili datoteke requirement.txt, je možno, da vaša aplikacija ne bo delovala pravilno ali da se celo ne bo zagnala v sistemu vašega prijatelja. Glavni razlog za to je, da vsi uporabniki ne uporabljajo iste različice knjižnic in paketov. Če pa ste uporabili datoteko requirement.txt, lahko kdorkoli izvaja in uporablja vaš projekt ali aplikacijo, ker so vsi zahtevani ali uporabljeni paketi in knjižnice navedeni tudi v obliki datoteke (requirement.txt) z vašim projektom.
V tej zahtevani datoteki .txt lahko uporabnik preprosto izbere, shrani in vzdržuje zahtevane datoteke glede na svoje zahteve.
Kako pridobiti datoteko Requirements.txt: z uporabo Virtualenv
Tukaj lahko dobimo datoteko requirements.txt. Za ustvarjanje datoteke requirement.txt lahko uporabimo naslednji ukaz:
Ukaz
pip3 freeze > requirements.txt
Izhod
Kako pridobiti datoteko Requirements.txt: z uporabo Pipenv
Pipenv je tudi odlično knjižnično orodje za ustvarjanje virtualnega okolja, ki ima nekaj kul funkcij. Za pridobitev datoteke requirement.txt lahko uporabite naslednja podana navodila.
1. Vnesite naslednji ukaz za namestitev pipenv
Ukaz
pip install pipenv
Izhod
2. Zdaj vnesite naslednji ukaz in pritisnite gumb enter.
Ukaz
pipenv install mypackage
Zgornji ukaz se uporablja za namestitev paketov, ki so potrebni za projekte.
Izhod
- Po namestitvi paketov za projekt moramo aktivirati virtualno okolje. Zato lahko za aktiviranje virtualnega okolja uporabite naslednje ukaze:
Ukaz
pipenv shell
oz
pipenv run
Te ukaze lahko uporabite za aktiviranje novo ustvarjenega virtualnega okolja, kot je prikazano spodaj:
Izhod
Zdaj vnesite naslednji ukaz za zagon skripta v virtualnem okolju.
Ukaz
pipenv run Python myscript.py
Pojasnilo
Ta ukaz se uporablja za zagon določenega skripta v virtualnem okolju, kot je prikazano spodaj:
Izhod
Ker je lažji, poleg tega samodejno spremlja vse knjižnice, ki se uporabljajo za projekt, v pipfile in pipfile. zakleni datoteko. Te datoteke igrajo enako vlogo kot requirements.txt in shranjujejo tudi dodatne informacije o več stvareh, ki niso vključene v requirement.txt.
Tako lahko to datoteko pip uporabite kot alternativo datoteki requirements.txt. Če pa vseeno želite uporabiti datoteko requirements.txt, lahko uporabite naslednji ukaz:
pipenv -r lock >> requirements.txt
Izhod
Kako pridobiti datoteko Requirements.txt: Brez Virtualenv z uporabo Pipreqs
Pipreqs je eno najučinkovitejših in enostavnih orodij za uporabo, ki vam ne zahteva ustvarjanja virtualnega okolja. Zato je zelo uporaben, če uporabnik potrebuje samo pakete in knjižnice, ki se uporabljajo v aplikaciji ali projektu.
Ena od najpomembnejših stvari je, da samodejno pregleda skripte ali datoteke Python za njihove uvožene knjižnice in ustvari requirements.txt.
Poglejmo, kako deluje:
1. Najprej morate namestiti »pipreqs«, tako da ga želite prenesti, vnesite naslednji podani ukaz v cmd in pritisnite gumb enter:
Ukaz
pip install pipreqs
Izhod
2. Ko je namestitev končana, lahko zaženete »pipreqs«, da dobite datoteko requirement.txt, tako da jo pokažete na lokacijo, kjer se nahaja mapa vašega projekta.
Ukaz
pipreqs /path/to/project
Izhod
Če želite preveriti, ali je datoteka requirement.txt uspešno ustvarjena, lahko v mapi vašega projekta vidite, da bo ustvarjena nova datoteka 'requirement.txt', kot je prikazano spodaj: