Hvordan bytte Python -versjon på Linux ved hjelp av Pyevn

Hvordan bytte Python -versjon på Linux ved hjelp av Pyevn

Trenger du å kjøre et programvare som krever en annen versjon av Python enn den du har installert på systemet ditt? Det er flere måter du kan løse dette problemet på, men det enkleste er avhengig av et verktøy som heter Pyenv. La oss kort diskutere hva Pyenv gjør og hvorfor du bør bruke det før du forklarer nøyaktig hva du trenger å gjøre for å bytte standard Python -versjonen med den.

Hva er pyenv og hvordan fungerer det?

Pyenv er et Python -versjonsstyringsverktøy laget av rene skallskript, noe som betyr at det ikke avhenger av Python. Det er fint fordi det siste du ønsker er å forurense miljøet ditt ved å installere et verktøy som skal hjelpe deg med å administrere det bedre.

Det fine med Pyenv kommer fra det faktum at den ganske enkelt legger til en katalog øverst på $ banen din, en variabel som forteller Linux -operativsystemet hvor du skal se etter kjørbare filer, for eksempel Python. Denne nye katalogen inneholder en lett kjørbar som gir kommandoen din til Pyenv.

Du kan bruke følgende kommando til å vise din nåværende $ bane:

$ ekko $ bane

Du bør se flere kataloger atskilt med Colons:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

For å gjøre output finere, kan du bruke en mer sofistikert versjon av kommandoen over:

$ ekko -e $ sti //:/\\ n
/usr/local/sbin
/usr/lokal/bin
/usr/sbin
/usr/bin
/sbin
/bin
/usr/spill
/usr/local/games

Når du bruker Python -kommandoen for å starte et programvare, går operativsystemet gjennom katalogene i $ banevariabelen fra topp til bunn til den finner en som inneholder relevant kjørbar.

For raskt å se hvilken katalog det er, bruk Whereis -kommandoen:

$ Whereis Python
/usr/bin/python

Python -V -kommandoen kan fortelle deg hvilken versjon av Python som er installert:

$ python -v
Python 2.7.18

For å la deg bruke enhver versjon av Python du ønsker uten å rote med den som kom installert med operativsystemet. Dessuten kan du også bruke spesifikke versjoner av Python for individuelle prosjekter eller angi en bestemt versjon av Python bare for din nåværende skalløk.

Hvordan installere pyenv?

Før du installerer Pyenv selv, bør du sørge for at det ikke er noen uoppfylte systemavhengigheter:

$ sudo apt-get update; sudo apt-get install make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev git wget curl llvm libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

Når det er gjort, kan du bruke det automatiske installasjonsprogrammet til å installere Pyenv på Linux -systemet ditt:

$ krøll https: // pyenv.Kjør | bash

Da må du legge til følgende linjer i ~/.Bashrc eller tilsvarende konfigurasjonsfil hvis du bruker et annet skall enn bash:

Eksportbane = "$ Hjem/.pyenv/bin: $ sti "
eval "$ (pyenv init -)"
eval "$ (pyenv virtualenv -init -)"

Ikke bekymre deg; Det automatiske installasjonsprogrammet vil fortelle deg nøyaktig hva du trenger å legge til og hvor. Til slutt kan du starte skallet på nytt (lukk terminalen) og bekrefte at Pyenv er blitt installert med hell ved å vise sin nåværende versjon:

$ Pyenv -Versjon
Pyenv 2.2.4

Hvordan bytte python -versjon ved hjelp av pyenv?

For å bytte Python -versjonen ved hjelp av Pyenv, trenger du først å installere minst en versjon av Python ved hjelp av Pyenv Install -kommandoen. Bare skriv inn ønsket versjon etter kommandoen:

$ pyenv installasjon 3.10.2

For å vise en liste over alle tilgjengelige versjoner, gjør du følgende:

$ pyenv installasjon -liste

Det er mange forskjellige versjoner å velge mellom, så vi vil ikke kopiere og lime dem inn her for å skåne rullehjulet ditt innsatsen det vil ta for å gå gjennom dem alle.

Siden Python Print Version Command (Python -V) vi brukte tidligere i denne artikkelen, bare ville fortelle deg hva systemet Python -versjonen er, må du bruke Pyenv Versions -kommandoen for å se hvilke versjoner som nå er tilgjengelig for Pyenv:

$ Pyenv -versjoner
* System (satt av/Home/David/.pyenv/versjon)
2.7.17
3.7.10
3.10.2

Som du kan se, er Pyenv nå klar over tre versjoner av Python: Systemversjonen (2.7.18 i vårt tilfelle), 2.7.17, 3.7.10, og 3.10.2.

Nå er det å bytte Python -versjon på det globale, lokale eller skallbasis et spørsmål om enkeltkommando:

$ Pyenv Global 2.7.17
$ pyenv lokal 3.7.10
$ pyenv skall 3.10.2

I vårt tilfelle brukte vi den globale kommandoen for å nedgradere Python versjon 2.7.18 til versjon 2.7.17. For å bekrefte at vi har oppnådd ønsket resultat, kan vi bruke to kjente kommandoer:

$ Pyenv -versjoner
system
* 2.7.17 (satt av/Home/David/.pyenv/versjon)
3.10.2
3.7.10
og
$ python -v
Python 2.7.17

Det er hvor enkelt det er å nedgradere Python -versjonen ved hjelp av Pyenv! Etter en stund kan det være lurt å slette noen få versjoner av Python som du ikke lenger trenger. Følgende kommando lar deg gjøre nettopp det:

$ pyenv avinstallerer

Du kan se mer nyttige Pyenv -kommandoer ved å skrive pyenv -hjelp i terminalen. Vi anbefaler også at du leser den offisielle dokumentasjonen på Github for å forstå bedre hvordan Pyenv fungerer under panseret.

Konklusjon

Å bytte eller nedgradere Python -versjonen er noe praktisk talt alle utviklere og til og med noen avanserte Linux -brukere må gjøre på et tidspunkt. Heldigvis gjør verktøy som Pyenv oppgaven uanstrengt, slik at du kan oppnå ønsket mål med noen få enkle kommandoer.