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


Upravljanje više verzija Pythona na Linux sistemu nije lak zadatak, posebno za početnike. Ponekad se čak i pogoršava kada želite da razvijete i pokrenete više projekata sa različitim verzijama Pythona na istom serveru. 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

Šta je Pyenv?

Pyenv je jednostavan, moćan i višeplatformski alat za upravljanje višestrukim verzijama Pythona na Linux sistemima koji se koriste za.

  • Prebacivanje na globalnu verziju Pythona za svakog korisnika.
  • postavljanje lokalne Python verzije na osnovu projekta.
  • Upravljanje virtuelnim okruženjima kreiranim od strane anaconda ili virtualenv.
  • Poništavanje verzije Pythona sa varijablom okruženja.
  • Pretraživanje komandi 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 eksplicitno ne navedete verziju koju želite koristiti u aplikaciji. Ali pyenv implementira jednostavan koncept korištenja shimova (lakih izvršnih datoteka) za prosljeđivanje vaše komande na ispravnu verziju Pythona koju želite koristiti, kada imate više instaliranih verzija.

Ove podloške umeće pyenv u direktorijume ispred vašeg PATH. Dakle, kada pokrenete Python naredbu, ona se presreće odgovarajućim shimom i prosljeđuje se pyenv, koji zatim uspostavlja verziju Pythona koju je specificirala vaša aplikacija i prolazi vaše komande uz pravu Python instalaciju. Ovo je pregled kako pyenv radi.

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

Kako instalirati Pyenv u Linux

1. Prvo instalirajte sve potrebne pakete za instalaciju različitih verzija Pythona iz izvora koristeći sljedeću naredbu na vaš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 uzmite najnovije izvorno stablo pyenv iz njegovog Github repozitorija i instalirajte ga na $HOME/.pyenv stazu koristeći sljedeću naredbu.

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

3. Sada morate postaviti varijablu okruženja PYENV_ROOT da ukazuje na putanju gdje ste instalirali pyenv i izvezite je. Zatim dodajte $PYENV_ROOT/bin u svoj PATH da pokrenete pyenv uslužni program komandne linije kao i sve druge sistemske komande.

Također morate omogućiti shims kao i autocompletion dodavanjem pyenv init u vašu ljusku. Uradite sve ove stvari u svom $HOME/.bashrc bash pokretačkom fajlu, kao što je prikazano.

vim $HOME/.bashrc 

Kopirajte i zalijepite sljedeće redove 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 ili izvorni fajl $HOME/.bashrc ili ponovo pokrenuti shell 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 da počnete koristiti pyenv. Prije nego što instalirate bilo koju verziju Pythona, možete vidjeti sve dostupne verzije pomoću ove naredbe.


pyenv install -l

6. Sada možete instalirati više verzija Pythona putem pyenva, na primjer.

pyenv install 3.6.4
pyenv install 3.6.5

7. Da navedete sve verzije Pythona koje su dostupne pyenvu, pokrenite sljedeću naredbu. Ovo će prikazati samo verzije instalirane putem samog pyenva.

pyenv versions

8. Možete provjeriti globalnu verziju Pythona sa sljedećom komandom, do tada bi zadana verzija trebala biti ona koju je postavio sistem, a ne pyenv.

pyenv global

Možete postaviti globalnu verziju Python-a pomoću naredbe pyenv.

pyenv global 3.6.5
pyenv global

9. Sada možete postaviti lokalnu verziju Pythona na osnovu projekta, na primjer, ako imate projekat koji se nalazi u $HOME/python_projects/test, možete postaviti Python verziju koristeći sljedeću naredbu.

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 virtuelnim okruženjima preko pyenv-virtualenv dodatka koji automatizira upravljanje virtualenvs i conda okruženjima za Python na Linuxu i drugim sistemima sličnim UNIX-u.

Možete započeti instalacijom ovog dodatka koristeći sljedeće naredbe.

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

11. Sada ćemo kreirati probno virtuelno okruženje pod nazivom venv_project1 u okviru projekta 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 virtuelna okruženja, kao i njihove lokalne verzije Python-a, takođe treba da budu navedene, kao što je prikazano na snimku ekrana.

pyenv versions

13. Da aktivirate virtualenv, na primjer venv_project1, unesite sljedeću naredbu.

pyenv activate venv_project1

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

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

Dodajte liniju export PYENV_VIRTUALENV_DISABLE_PROMPT=1 u vaš $HOME/.bashrc fajl, gdje ste dodali druge pyenv konfiguracije, i izvorni fajl za simulaciju ponašanje koje se naglašava.

14. Da deaktivirate aktivirani virtualenv, pokrenite ovu naredbu.

pyenv deactivate

Za više informacija, možete navesti sve pyenv komande koristeći sljedeću naredbu.

pyenv commands

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

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

Korištenje pyenv je zaista tako jednostavno. U ovom vodiču pokazali smo kako ga instalirati, kao i demonstrirali neke od slučajeva njegove upotrebe za upravljanje više verzija Python-a na Linux sistemu. Koristite obrazac za povratne informacije u nastavku da postavite bilo kakva pitanja ili podijelite svoje mišljenje o ovom alatu.