Administrere avhengigheter med Ansible PIP -modulen

Administrere avhengigheter med Ansible PIP -modulen
Python er på gode vilkår med Ansible - et av de siste IT -automatiseringsverktøyene der ute. Ansible krever at Python kjører ordentlig.

Ikke desto mindre er det fortsatt et gap som skal fylles mellom pytonavhengigheter og Ansible. For dette formålet har vi PIP -modulen i Ansible, forkortelse for foretrukket installasjonsprogram. Her vil vi gå inn på alt du trenger å vite om Ansible PIP -modulen.

Hva er PIP -modulen?

Hvis du har en ekstern server satt opp med Ansible, må du sannsynligvis administrere Python -avhengigheter. Ansible PIP -modulen bygger bro mellom deg og Python -pakkene installert/som skal installeres på serverne dine.

PIP-modulen er en del av “Ansible-Core.”Dette betyr at alle Ansible -installasjoner har PIP -modulen klare til å gå, slik at du ikke trenger å gå gjennom hodepinen ved å installere den.

Denne modulen håndterer alt, fra å installere avhengigheter til å endre versjonene sine eller fjerne dem helt. Imidlertid, før vi kommer inn på hvordan du kan bruke dette fantastiske verktøyet, må noen forutsetninger oppfylles.

Krav til PIP -modul

Det er to hovedkrav som må oppfylles for at PIP -modulen skal fungere ordentlig.

Målpakken/avhengigheten din må allerede være til stede på den eksterne serveren du administrerer.

Hvis du vil bruke Python Virtual Environment, må "VirtualenV" -pakken forhåndsinstalleres på den eksterne serveren.

Hvis du ikke har disse to forutsetningene som allerede. Når vi er ferdig, kan vi gå videre til å bruke Ansible PIP -modulen!

Bruke Ansible PIP -modulen

Det er en rekke ting du kan oppnå med denne modulen. For det første må du imidlertid lære å bruke det, hvilke parametere som er nødvendige, og hvilke argumenter som må sendes. La oss se på noen av de mest avgjørende parametrene.

chdir - Endrer gjeldende katalog før utførelse.

redigerbar - Tar ja eller Nei (standard), passerer det redigerbare flagget.

EXTRA_ARGS - Tillater flere PIP -argumenter.

Navn - Navnet/url på biblioteket eller avhengigheten du vil installere (argumentet kan være en streng eller en liste)

krav - Tar banen til en "krav" -fil som er til stede på den eksterne serveren du får tilgang til (fungerer med CHDIR)

stat - Definerer modulens tilstand og tar fraværende eller ForceInstall eller siste eller tilstede (misligholde).

versjon - Angir versjonen av pakken i Navn parameter.

Umask - Tar en oktal streng og spesifiserer Umask anvendt før installasjon.

Når du har fått tak i å bruke disse parametrene og det som må sendes til dem, blir det å bruke Ansible Pip -modulen et stykke kake. Til slutt, gitt nedenfor, er noen like viktige attributter.

sjekk_mode - Sjekk status prediksjon uten å endre målet.

plattform - Støttede måloperativsystemer.

Når det er gjort, er du på god vei til å bruke PIP -modulen for å installere og jobbe med Python -biblioteker på de eksterne systemene dine!

Hvordan installere en Python -pakke?

La oss starte med å installere en Python -pakke på en ekstern server. Vi vil bruke parametrene vi nettopp diskuterte og se hvordan forskjellige argumentverdier påvirker installasjonen.

Vi installerer Pytorch -pakken på alle verter ved å passere alle argumenter til verter parameter. Dessuten Navn av PIP -modulen i Pytorch.

- Verter: Alle
oppgaver:
- Navn: Installere Pytorch -pakken ved hjelp av Ansible PIP -modulen
Pip:
Navn: Pytorch

Når du er ferdig med det, kan du kjøre spillboken ved å skrive dette inn i Linux -skallet:
Ansible-Playbook Testbook.yml

Du kan også spesifisere den nøyaktige versjonen av pakken du ønsker ved å bare endre navnparameteren som følger.

- Navn: Installere Pytorch -pakken ved hjelp av Ansible PIP -modulen
Pip:
Navn: Pytorch == 1.9.1

Ekstern protokoller som GIT+ eller HG+ kan også brukes til å skaffe Python -pakker. Slik kan du installere en pakke fra et GitHub -depot.

- Navn: Bruk en ekstern protokoll for å installere pakker
Pip:
Navn: git+http: // myrepository/mappe/mypackage

Gå videre, det er et alternativ å installere avhengigheter i visse virtuelle miljøer også. Her er et eksempel på hvordan det vil bli gjort.

- Navn: Installere Pytorch i et bestemt virtuelt miljø
Pip:
Navn: Pytorch
Virtualenv: /MyPytorch /Venv
virtualenv_site_packages: ja

I mange tilfeller kan du komme over tekstfiler som inneholder alle kravene til noen applikasjoner du vil kjøre.

- Navn: Installere fra kravene.txt -fil
Pip:
Krav: /mappe /krav.tekst

Tilsvarende kan det samme gjøres for et virtuelt miljø også. Nedenfor er et eksempel på hvordan du installerer Python -pakker fra en kravfil i et bestemt virtuelt miljø.

- Navn: Installere fra kravene.txt -fil i et virtuelt miljø
Pip:
Krav: /mappe /krav.tekst
virtualenv: /mappe /Venv

Når det er sagt, bør du være godt rustet til å installere Python -pakker ved hjelp av Ansible PIP -modulen. La oss gå videre til noen andre viktige kommandoer.

Hvordan fjerne/installere en Python -pakke på nytt?

I en tidligere del av denne guiden lærte vi at stat Parameter er avgjørende for enhver operatør vi ønsker å søke på en underbruk av en pakke. For eksempel, hvis du vil fjerne en Python -pakke, kan du eksplisitt angi stat Parameter fra standardverdien (tilstede) til fraværende. Slik kan det gjøres.

- Verter: Alle
oppgaver:
- Navn: Fjerne Python -pakker
Pip:
Navn: Pytorch
Stat: fraværende

Fortsetter ned på samme vei, kan vi installere et Python -bibliotek ved å endre stat Parameterens verdi til ForceInstall.

- Verter: Alle
oppgaver:
- Navn: Installerer et bibliotek på nytt
Pip:
Navn: Pytorch
Versjon: 1.9.1
Stat: Forcereinstall

Du vet nå hvordan du ikke bare kan installere Python -pakker ved hjelp av Ansible PIP -modulen, men også hvordan du fjerner eller installerer dem på nytt!

Konklusjon

I denne guiden så vi på Ansible PIP -modulen - hva den er, hva den gjør og hvordan vi bruker den. Det er et nyttig verktøy som lar deg administrere Python -avhengigheter av eksterne servere. Forhåpentligvis er du nå klar til å administrere bibliotekene dine effektivt!