Pyenv - Instalirajte više verzija Pythona za određeni projekt


Upravljanje višestrukim verzijama Pythona na Linux sustavu nije lak zadatak, osobito za početnike. Ponekad čak postane i gore kada želite razviti i pokrenuti više projekata s različitim verzijama Pythona na istom poslužitelju. Međutim, to ne bi trebao biti slučaj ako koristite pyenv.

Pročitajte također: Kako instalirati najnoviju verziju Pythona 3.6 u Linux

Što je Pyenv?

Pyenv je jednostavan, moćan alat za više platformi za upravljanje više verzija Pythona na Linux sustavima, koji se koristio za.

  • Prebacivanje globalne Python verzije po korisniku.
  • postavljanje lokalne Python verzije na temelju projekta.
  • Upravljanje virtualnim okruženjima koje je stvorio Anaconda ili virtualenv.
  • Nadjačavanje Python verzije varijablom okruženja.
  • Pretraživanje naredbi iz više verzija Pythona i više.

Kako radi pyenv?

Obično se jedna zadana verzija Pythona koristi za pokretanje svih vaših aplikacija, osim ako izričito ne navedete verziju koju želite koristiti unutar aplikacije. Ali pyenv implementira jednostavan koncept upotrebe shims (laganih izvršnih datoteka) za prosljeđivanje vaše naredbe ispravnoj verziji Pythona koju želite koristiti, kada imate instalirano više verzija.

Ove podloške umeće pyenv u direktorije ispred vašeg PATH. Dakle, kada pokrenete Python naredbu, presreće je odgovarajući shim i prosljeđuje pyenv, koji zatim uspostavlja Python verziju koju je odredila vaša aplikacija i prosljeđuje vaše naredbe uz pravu instalaciju Pythona. Ovo je pregled načina na koji funkcionira pyenv.

U ovom ćemo članku pokazati kako instalirati najnoviju verziju pyenv-a u Linuxu. Također ćemo pokazati prva tri gore navedena slučaja upotrebe.

Kako instalirati Pyenv u Linuxu

1. Najprije instalirajte sve potrebne pakete za instalaciju različitih verzija Pythona iz izvora pomoću sljedeće naredbe na odgovarajućoj Linux distribuciji.

------------ On Debian/Ubuntu/Linux Mint ------------ 
sudo apt install curl git-core gcc make zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev libssl-dev

------------ On CentOS/RHEL ------------
yum -y install epel-release
yum install git gcc zlib-devel bzip2-devel readline-devel sqlite-devel openssl-devel

------------ On Fedora 22+ ------------
yum install git gcc zlib-devel bzip2-devel readline-devel sqlite-devel openssl-devel

2. Zatim preuzmite najnovije izvorno stablo pyenv iz Github repozitorija i instalirajte ga na stazu $HOME/.pyenv pomoću sljedeće naredbe.

git clone https://github.com/pyenv/pyenv.git $HOME/.pyenv

3. Sada trebate postaviti varijablu okruženja PYENV_ROOT da pokazuje na stazu gdje ste instalirali pyenv i izvesti ga. Zatim dodajte $PYENV_ROOT/bin vašem PATH da biste pokrenuli pyenv pomoćni program naredbenog retka kao i sve druge sistemske naredbe.

Također trebate omogućiti shims kao i autocompletion dodavanjem pyenv init vašoj ljusci. Učinite sve ove stvari u vašoj $HOME/.bashrc bash datoteci za pokretanje, kao što je prikazano.

vim $HOME/.bashrc 

Kopirajte i zalijepite sljedeće retke na kraj ove datoteke.

## pyenv configs
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"

if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi

4. Nakon što izvršite gore navedene promjene, možete izvoriti datoteku $HOME/.bashrc ili ponovno pokrenuti ljusku kao što je prikazano.

source $HOME/.bashrc
OR
exec "$SHELL"

Kako instalirati više verzija Pythona u Linux

5. U ovom trenutku trebali biste biti spremni početi koristiti pyenv. Prije nego što instalirate bilo koju verziju Pythona, ovom naredbom možete vidjeti sve dostupne verzije.


pyenv install -l

6. Sada možete instalirati više verzija Pythona preko pyenv, na primjer.

pyenv install 3.6.4
pyenv install 3.6.5

7. Za popis svih verzija Pythona dostupnih za pyenv, pokrenite sljedeću naredbu. Ovo će prikazati samo verzije instalirane putem samog pyenv.

pyenv versions

8. Možete provjeriti globalnu verziju Pythona sljedećom naredbom, do sada bi zadana verzija trebala biti ona koju je postavio sustav, a ne pyenv.

pyenv global

Globalnu verziju pythona možete postaviti pomoću naredbe pyenv.

pyenv global 3.6.5
pyenv global

9. Sada možete postaviti lokalnu verziju Pythona za svaki pojedinačni projekt, na primjer, ako imate projekt koji se nalazi u $HOME/python_projects/test, možete postaviti Python verziju pomoću sljedeće naredbe.

cd python_projects/test
pyenv local 3.6.5
pyenv version		#view local python version for a specific project 
OR
pyenv versions

10. Pyenv upravlja virtualnim okruženjima putem pyenv-virtualenv dodatka koji automatizira upravljanje virtualenvs i conda okruženjima za Python na Linuxu i drugim sustavima sličnim UNIX-u.

Možete započeti instaliranjem ovog dodatka pomoću sljedećih naredbi.

git clone https://github.com/yyuu/pyenv-virtualenv.git   $HOME/.pyenv/plugins/pyenv-virtualenv
source $HOME/.bashrc

11. Sada ćemo stvoriti testno virtualno okruženje pod nazivom venv_project1 pod projektom pod nazivom project1 kako slijedi.

cd python_projects
mkdir project1
cd project1
pyenv virtualenv 3.6.5 venv_project1

12. Sada kada navedete sve verzije Pythona, vaša virtualna okruženja, kao i njihove lokalne verzije pythona također bi trebale biti navedene, kao što je prikazano na snimci zaslona.

pyenv versions

13. Da biste aktivirali virtualenv, na primjer venv_project1, upišite sljedeću naredbu.

pyenv activate venv_project1

Napomena: Možda ćete dobiti donju poruku dok koristite najnoviju verziju pyenv-virtualenv dodatka po prvi put.

pyenv-virtualenv: prompt changing will be removed from future release. configure `export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.

Dodajte red export PYENV_VIRTUALENV_DISABLE_PROMPT=1 u svoju datoteku $HOME/.bashrc, gdje ste dodali druge pyenv konfiguracije, i izvor datoteke za simulaciju ponašanje koje se naglašava.

14. Da biste deaktivirali aktivirani virtualenv, pokrenite ovu naredbu.

pyenv deactivate

Za više informacija možete ispisati sve pyenv naredbe pomoću sljedeće naredbe.

pyenv commands

Za više informacija idite na pyenv Github repozitorij: https://github.com/pyenv/pyenv

Pročitajte također: Kako instalirati više PHP verzija za više web stranica

Korištenje pyenv je stvarno tako jednostavno. U ovom smo vodiču pokazali kako ga instalirati, kao i demonstrirali neke od slučajeva njegove upotrebe za upravljanje više verzija pythona na Linux sustavu. Upotrijebite obrazac za povratne informacije u nastavku da biste postavili bilo kakva pitanja ili podijelili svoje mišljenje o ovom alatu.