Kuidas hallata Python’i versioone pyenv abil (macOS ja Linux juhend)

1. Mis on pyenv?

Pythoni arendajatel tuleb sageli ette olukordi, kus iga projekt vajab erinevat Python’i versiooni. Sellisel juhul on kasulik tööriist pyenv. See võimaldab hallata mitut Python’i versiooni ja vahetada neid hõlpsasti projekti kaupa.

Probleemid Python’i versioonide haldamisel

Arenduse käigus võib tekkida vajadus kasutada mitmes projektis erinevaid Python’i versioone. Näiteks ühes projektis on vaja Python 3.9, teises aga Python 2.7. Tavaliselt on süsteemi paigaldatud ainult üks Python’i versioon, mistõttu nende vahetamine on tülikas. Selle probleemi lahendab pyenv.

pyenv eelised

pyenv kasutamisel on mitmeid eeliseid:

  1. Lihtne versioonide vahetamine: pyenv võimaldab kiiresti vahetada Python’i versiooni kogu süsteemis või projekti tasemel.
  2. Mitme versiooni haldus: Ühe käsuga saab hallata mitut süsteemi paigaldatud Python’i versiooni. See teeb lihtsaks erinevate sõltuvuste ja versioonide vahelise kohandamise.
  3. Tugi enamikule operatsioonisüsteemidele (v.a Windows): Töötab macOS-is ja Linuxis, samuti teistes Unixilaadsetes süsteemides.

Kuidas pyenv töötab

pyenv loob iga Python’i versiooni jaoks eraldi kataloogi ja paigaldab sinna vastava versiooni. Kasutaja saab määrata, millist versiooni kasutada kogu süsteemis (pyenv global) või konkreetses projektis (pyenv local).

2. pyenv paigaldamine

Ülevaade

pyenv kasutamiseks tuleb see esmalt paigaldada süsteemi. Selles jaotises selgitame, kuidas paigaldada pyenv macOS-i ja Linuxi keskkondadesse. Kuna Windows ei ole ametlikult toetatud, on soovitatav kasutada alternatiive (näiteks WSL või Anaconda).

Paigaldamine macOS-is

macOS-is saab pyenv hõlpsalt paigaldada Homebrew‘ abil. Homebrew on macOS-i paketihaldur, mis võimaldab kiiresti paigaldada erinevat tarkvara. Järgige järgmisi samme:

  1. Kontrolli, kas Homebrew on paigaldatud
    Ava terminal ja käivita käsk:
   brew --version

Kui kuvatakse versiooninumber, on Homebrew juba paigaldatud. Kui mitte, siis leia paigaldusjuhised Homebrew ametlikult veebilehelt.

1. Mis on pyenv?

Pythoni arendajatel tuleb sageli ette olukordi, kus iga projekt vajab erinevat Python’i versiooni. Sellisel juhul on kasulik tööriist pyenv. See võimaldab hallata mitut Python’i versiooni ja vahetada neid hõlpsasti projekti kaupa.

Probleemid Python’i versioonide haldamisel

Arenduse käigus võib tekkida vajadus kasutada mitmes projektis erinevaid Python’i versioone. Näiteks ühes projektis on vaja Python 3.9, teises aga Python 2.7. Tavaliselt on süsteemi paigaldatud ainult üks Python’i versioon, mistõttu nende vahetamine on tülikas. Selle probleemi lahendab pyenv.

pyenv eelised

pyenv kasutamisel on mitmeid eeliseid:

  1. Lihtne versioonide vahetamine: pyenv võimaldab kiiresti vahetada Python’i versiooni kogu süsteemis või projekti tasemel.
  2. Mitme versiooni haldus: Ühe käsuga saab hallata mitut süsteemi paigaldatud Python’i versiooni. See teeb lihtsaks erinevate sõltuvuste ja versioonide vahelise kohandamise.
  3. Tugi enamikule operatsioonisüsteemidele (v.a Windows): Töötab macOS-is ja Linuxis, samuti teistes Unixilaadsetes süsteemides.

Kuidas pyenv töötab

pyenv loob iga Python’i versiooni jaoks eraldi kataloogi ja paigaldab sinna vastava versiooni. Kasutaja saab määrata, millist versiooni kasutada kogu süsteemis (pyenv global) või konkreetses projektis (pyenv local).

2. pyenv paigaldamine

Ülevaade

pyenv kasutamiseks tuleb see esmalt paigaldada süsteemi. Selles jaotises selgitame, kuidas paigaldada pyenv macOS-i ja Linuxi keskkondadesse. Kuna Windows ei ole ametlikult toetatud, on soovitatav kasutada alternatiive (näiteks WSL või Anaconda).

Paigaldamine macOS-is

macOS-is saab pyenv hõlpsalt paigaldada Homebrew‘ abil. Homebrew on macOS-i paketihaldur, mis võimaldab kiiresti paigaldada erinevat tarkvara. Järgige järgmisi samme:

  1. Kontrolli, kas Homebrew on paigaldatud
    Ava terminal ja käivita käsk:
   brew --version

Kui kuvatakse versiooninumber, on Homebrew juba paigaldatud. Kui mitte, siis leia paigaldusjuhised Homebrew ametlikult veebilehelt.

  1. pyenv paigaldamine
    Kui Homebrew on olemas, käivita järgmine käsk:
   brew install pyenv

Kui paigaldus on lõpetatud, jätka järgmise sammuga.

  1. Keskkonnamuutujate seadistamine
    Et kasutada pyenv-i, tuleb seadistada shelli keskkonnamuutujad. Tavaliselt lisatakse need .bash_profile või .zshrc faili. Käivita terminalis järgmised käsud:
   echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
   echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
   echo 'eval "$(pyenv init --path)"' >> ~/.bash_profile

Kui kasutad .zshrc faili, lisa read sinna. Seejärel taaskäivita terminal või käivita käsk:

   source ~/.bash_profile
  1. Paigalduse kontroll
    Kontrolli, kas pyenv töötab õigesti:
   pyenv --version

Kui kuvatakse versiooninumber, on pyenv õigesti paigaldatud.

侍エンジニア塾

1. Mis on pyenv?

Pythoni arendajatel tuleb sageli ette olukordi, kus iga projekt vajab erinevat Python’i versiooni. Sellisel juhul on kasulik tööriist pyenv. See võimaldab hallata mitut Python’i versiooni ja vahetada neid hõlpsasti projekti kaupa.

Probleemid Python’i versioonide haldamisel

Arenduse käigus võib tekkida vajadus kasutada mitmes projektis erinevaid Python’i versioone. Näiteks ühes projektis on vaja Python 3.9, teises aga Python 2.7. Tavaliselt on süsteemi paigaldatud ainult üks Python’i versioon, mistõttu nende vahetamine on tülikas. Selle probleemi lahendab pyenv.

pyenv eelised

pyenv kasutamisel on mitmeid eeliseid:

  1. Lihtne versioonide vahetamine: pyenv võimaldab kiiresti vahetada Python’i versiooni kogu süsteemis või projekti tasemel.
  2. Mitme versiooni haldus: Ühe käsuga saab hallata mitut süsteemi paigaldatud Python’i versiooni. See teeb lihtsaks erinevate sõltuvuste ja versioonide vahelise kohandamise.
  3. Tugi enamikule operatsioonisüsteemidele (v.a Windows): Töötab macOS-is ja Linuxis, samuti teistes Unixilaadsetes süsteemides.

Kuidas pyenv töötab

pyenv loob iga Python’i versiooni jaoks eraldi kataloogi ja paigaldab sinna vastava versiooni. Kasutaja saab määrata, millist versiooni kasutada kogu süsteemis (pyenv global) või konkreetses projektis (pyenv local).

2. pyenv paigaldamine

Ülevaade

pyenv kasutamiseks tuleb see esmalt paigaldada süsteemi. Selles jaotises selgitame, kuidas paigaldada pyenv macOS-i ja Linuxi keskkondadesse. Kuna Windows ei ole ametlikult toetatud, on soovitatav kasutada alternatiive (näiteks WSL või Anaconda).

Paigaldamine macOS-is

macOS-is saab pyenv hõlpsalt paigaldada Homebrew‘ abil. Homebrew on macOS-i paketihaldur, mis võimaldab kiiresti paigaldada erinevat tarkvara. Järgige järgmisi samme:

  1. Kontrolli, kas Homebrew on paigaldatud
    Ava terminal ja käivita käsk:
   brew --version

Kui kuvatakse versiooninumber, on Homebrew juba paigaldatud. Kui mitte, siis leia paigaldusjuhised Homebrew ametlikult veebilehelt.

  1. pyenv paigaldamine
    Kui Homebrew on olemas, käivita järgmine käsk:
   brew install pyenv

Kui paigaldus on lõpetatud, jätka järgmise sammuga.

  1. Keskkonnamuutujate seadistamine
    Et kasutada pyenv-i, tuleb seadistada shelli keskkonnamuutujad. Tavaliselt lisatakse need .bash_profile või .zshrc faili. Käivita terminalis järgmised käsud:
   echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
   echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
   echo 'eval "$(pyenv init --path)"' >> ~/.bash_profile

Kui kasutad .zshrc faili, lisa read sinna. Seejärel taaskäivita terminal või käivita käsk:

   source ~/.bash_profile
  1. Paigalduse kontroll
    Kontrolli, kas pyenv töötab õigesti:
   pyenv --version

Kui kuvatakse versiooninumber, on pyenv õigesti paigaldatud.

Paigaldamine Linuxis

Linuxis on paigaldus sarnane macOS-ile, kuid kasutatakse paketihaldureid nagu apt või yum. Näiteks Ubuntu puhul:

  1. Nõutavate pakettide paigaldamine
    Enne pyenv-i paigaldamist installi vajalikud sõltuvused:
   sudo apt update
   sudo apt install -y build-essential libssl-dev zlib1g-dev libbz2-dev 
   libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev 
   xz-utils tk-dev libffi-dev liblzma-dev python-openssl git
  1. pyenv paigaldamine
    Klooni pyenv GitHubist ja paigalda see:
   curl https://pyenv.run | bash
  1. Keskkonnamuutujate seadistamine
    Lisa järgmised read oma .bashrc või .zshrc faili:
   export PATH="$HOME/.pyenv/bin:$PATH"
   eval "$(pyenv init --path)"

Seejärel taaskäivita terminal või käivita käsk source ~/.bashrc.

  1. Paigalduse kontroll
    Kontrolli, kas pyenv töötab õigesti:
   pyenv --version

Tõrkeotsing

Kui paigaldamisel tekib vigu, on tõenäoliselt puudu vajalikud teegid. Eriti Linuxis võivad süsteemiti nõuded erineda. Kontrolli ametlikku dokumentatsiooni ja paigalda vajalikud teegid.

3. Python’i versioonide haldamine

Pärast pyenv paigaldamist on oluline õppida, kuidas hallata erinevaid Python’i versioone. Selles jaotises selgitame, kuidas installida ja vahetada Python’i versioone pyenv-i abil.

Python’i versiooni paigaldamine

pyenv võimaldab lihtsalt paigaldada erinevaid Python’i versioone. Näiteks kui ühes projektis on vaja Python 3.8 ja teises Python 3.9, saab neid installida järgmiselt:

  1. Versioonide loendi kontrollimine
    Vaata, millised Python’i versioonid on saadaval:
   pyenv install --list

See käsk kuvab kõik versioonid, mida saab paigaldada.

  1. Python’i versiooni paigaldamine
    Valitud versiooni paigaldamiseks kasuta:
   pyenv install 3.9.1

See paigaldab Python 3.9.1. Kui on vaja mitut versiooni, paigalda need ükshaaval.

Python’i versiooni vahetamine

pyenv võimaldab paigaldatud versioonide vahel lihtsalt vahetada. See on kasulik, kui projektid vajavad erinevaid versioone.

  1. Süsteemiülese versiooni määramine
    Kui soovid, et kogu süsteem kasutaks konkreetset versiooni, käivita:
   pyenv global 3.9.1

See määrab, et Python 3.9.1 on vaikimisi kasutatav versioon kogu süsteemis.

  1. Projektipõhise versiooni määramine
    Kui soovid määrata konkreetse versiooni ainult ühes projektis:
   pyenv local 3.8.0

See kehtib ainult praeguses kaustas, samal ajal kui teistes kaustades kasutatakse pyenv global-iga määratud versiooni.

  1. Praeguse versiooni kontrollimine
    Uuri, milline Python’i versioon on aktiivne:
   pyenv version

See näitab, milline versioon on hetkel kasutusel süsteemi- või projekti tasemel.

Versiooni eemaldamine

Kui mõni Python’i versioon ei ole enam vajalik, saab selle lihtsalt eemaldada:

  1. Desinstallimine
    Käivita käsk:
   pyenv uninstall 3.9.1

See eemaldab Python 3.9.1 süsteemist.

4. pyenv koos virtualenv’iga

pyenv aitab hallata Python’i versioone, kuid projektipõhiste sõltuvuste paremaks eraldamiseks on soovitatav kasutada koos sellega ka virtualenv’i (virtuaalkeskkonda). Selles jaotises selgitame, kuidas neid kahte tööriista koos kasutada ja miks see on kasulik.

Mis on virtualenv?

virtualenv loob iga projekti jaoks iseseisva virtuaalkeskkonna, kus saab eraldi hallata teeke ja pakette. See tähendab, et erinevad projektid võivad kasutada samu teeke eri versioonides ilma, et need üksteist segaksid.

Näiteks projekt A võib kasutada requests versiooni 2.0, samas kui projekt B kasutab versiooni 3.0 — mõlemad saavad töötada probleemideta.

Erinevus pyenv ja virtualenv vahel

pyenv keskendub eelkõige Python’i versioonide haldamisele, võimaldades paigaldada ja vahetada eri Python’i versioone. virtualenv seevastu tegeleb teekide ja pakettide eraldamisega projekti tasandil.

Kombineerides pyenv ja virtualenv, saad järgmised eelised:

  • Mitme Python’i versiooni haldamine: pyenv abil saad paigaldada erinevaid Python’i versioone ja määrata need vastavalt projektile.
  • Sõltuvuste eraldamine: virtualenv võimaldab hoida iga projekti teegid eraldi, vältides konfliktide tekkimist.

pyenv-virtualenv paigaldamine

pyenv-virtualenv on plugin, mis muudab virtuaalkeskkondade loomise ja haldamise veelgi lihtsamaks. Selle paigaldamiseks kasuta järgmisi samme:

  1. Paigaldamine
    macOS-is saad kasutada Homebrew’d:
   brew install pyenv-virtualenv

Linuxis saad paigaldada käsuga:

   git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
  1. Keskkonnamuutujate seadistamine
    Lisa oma shelli konfiguratsioonifaili järgmine rida:
   echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
   source ~/.bash_profile

Virtuaalkeskkonna loomine

Uue virtuaalkeskkonna loomiseks konkreetse Python’i versiooni põhjal kasuta:

pyenv virtualenv 3.8.0 my_project_env

See loob virtuaalkeskkonna nimega my_project_env, mis põhineb Python 3.8.0-l.

Virtuaalkeskkonna aktiveerimine

Et kasutada loodud virtuaalkeskkonda projekti sees, määra see lokaalseks:

pyenv local my_project_env

See aktiveerib virtuaalkeskkonna ainult valitud kaustas.

Virtuaalkeskkonna eemaldamine

Kui keskkonda pole enam vaja, saad selle eemaldada käsuga:

pyenv uninstall my_project_env

Miks kasutada virtualenv’i?

Kombineerides pyenv ja virtualenv, saad hoida iga projekti keskkonna täielikult isoleerituna. See vähendab konfliktide riski ja tagab, et arendusprotsess on stabiilne ja korrastatud.

5. Tähtsad tähelepanekud pyenv’i kasutamisel

pyenv ja virtualenv muudavad Python’i versioonide ja keskkondade haldamise väga tõhusaks, kuid nende kasutamisel tuleb arvestada teatud piirangute ja probleemidega. Allpool on toodud levinumad probleemid ning nende lahendused.

1. Piiratud tugi Windowsis

pyenv on eelkõige mõeldud macOS-i ja Linuxi jaoks. Windowsis puudub otsene tugi, kuid on olemas alternatiivid:

  • Windows Subsystem for Linux (WSL): Installi WSL ja kasuta pyenv’i Linuxi keskkonnas.
  • Anaconda: Kui vajad mitut Python’i versiooni või virtuaalkeskkonda Windowsis, on Anaconda hea alternatiiv.

2. Puuduvad sõltuvuste paketid

Eriti Linuxis võib pyenv-i install ebaõnnestuda, kui vajalikud raamatukogud puuduvad. Näiteks võib tekkida hoiatus:

WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib?

Lahendus:

  • Paigalda vajalikud sõltuvused (nt libbz2-dev, libssl-dev). Ubuntu puhul:
   sudo apt-get install -y build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev

3. Konflikt süsteemi Python’i ja pyenv’i vahel

Kui süsteemi vaikimisi Python ja pyenv versioonid lähevad omavahel konflikti, on põhjus sageli PATH’i seadetes või shelli alglaadimise konfiguratsioonis.
Lahendus:

  • Veendu, et sinu .bashrc või .zshrc failis oleks õiged read:
   export PATH="$HOME/.pyenv/bin:$PATH"
   eval "$(pyenv init --path)"
  • Pärast muudatuste tegemist taaskäivita terminal või käivita source ~/.bashrc.

4. Konkreetse versiooni installi ebaõnnestumine

Mõnikord ei õnnestu teatud Python’i versiooni paigaldada, kui puuduvad vajalikud tööriistad või teegid.
Lahendus:

  • Installi puuduvad paketid (nt build-essential, libssl-dev) ja proovi uuesti.

5. Vale versiooninumbri sisestamine

Kui sisestad vale versiooninumbri, annab pyenv install vea.
Lahendus:

  • Kontrolli saadavalolevaid versioone käsuga pyenv install --list ja kasuta õiget numbrit.

6. Konflikt virtuaalkeskkondade vahel

Kui mitmes virtuaalkeskkonnas kasutatakse sama Python’i versiooni, võivad tekkida sõltuvuste konfliktid.
Lahendus:

  • Loo iga projekti jaoks eraldi virtuaalkeskkond, kasutades virtualenv või pyenv-virtualenv, et tagada täielik eraldatus.

6. Kokkuvõte ja järgmised sammud

pyenv on väga kasulik ja võimas tööriist Python’i versioonide haldamiseks. Eriti arendajatele, kes töötavad mitme projektiga, kus igas projektis on vaja erinevat Python’i versiooni. pyenv muudab versioonide vahetamise lihtsaks ning koos virtualenv’iga võimaldab hallata ka sõltuvusi eraldatud keskkondades.

pyenv’i kasutamise peamised eelised

  1. Lihtne versioonihaldus: pyenv võimaldab kiiresti vahetada Python’i versioone kogu süsteemis või projekti tasemel.
  2. Virtuaalkeskkondade kombineerimine: koos pyenv-virtualenv või virtualenv’iga saad hoida projektide sõltuvused selgelt eraldi ja vältida konflikte.
  3. Tõrkeotsingu oskus: tundes tüüpilisi vigu ja nende lahendusi, saad vältida probleemide tekkimist ning hoida oma arenduskeskkonna stabiilsena.

Järgmised sammud

  1. Arenduskeskkonna efektiivsemaks muutmine: Kui oled pyenv’i põhitõed selgeks saanud, kaalu ka tööriistade nagu pipenv või poetry kasutamist. Need lihtsustavad sõltuvuste haldamist ja automatiseerivad projekti seadistust.
  2. Kohandamine Windowsis: Kuna Windows ei toeta pyenv’i otse, kasuta WSL-i või Anacondat, et saavutada sarnane paindlikkus.
  3. Praktiline katsetamine: Ära piirdu ainult teooriaga. Katseta pyenv’i oma olemasolevates või uutes projektides ja loo virtuaalkeskkondi, et kogeda, kui palju see lihtsustab arendustööd.
オープンソースの力を活用する方法~Ubuntuの世界へようこそ~

目次 1 1. はじめに1.1 Pythonバージョン管理の重要性1.2 Ubuntuとpyenvの組み合わせの利点2 …

年収訴求