Înțelegerea mediilor virtuale în Python

În acest tutorial, veți afla despre mediile virtuale. Veți învăța despre importanța utilizării mediilor virtuale în Python și despre cum puteți începe utilizarea mediilor virtuale.

Ce este un mediu virtual?

Un mediu virtual este un instrument pentru a menține un spațiu separat pentru un proiect cu dependențele și bibliotecile sale într-un singur loc. Acest mediu este specific proiectului și nu interferează cu dependențele altor proiecte. 

De exemplu, puteți lucra la proiectul X care utilizează versiunea 1.0 a bibliotecii Z și de asemenea menține proiectul Y care utilizează versiunea 2.0 a bibliotecii Z.

Cum funcționează mediile virtuale?

Instrumentul pentru mediul virtual creează un director în interiorul directorului de proiect. În mod implicit, este apelat dosarul venv, dar puteți să-l numiți și personalizat. Acesta păstrează fișierele Python și pip în fișierul de mediu virtual. Când mediul virtual este activat, pachetele instalate după aceea sunt instalate în interiorul dosarului de mediu virtual al proiectului.

Noțiuni de bază cu VirtualEnv

În primul rând, asigurați-vă că aveți țâfnă instalat pe sistemul dvs. Puteți instala țâfnă utilizând următoarea comandă:

sudo apt-get instalează python-pip python-dev build-essential

Utilizarea țâfnă, instalați instrumentul pentru mediul virtual.

pip instalare virtualenv

Pentru a începe utilizarea virtualenv, trebuie să inițializați și să o activați. Să începem prin crearea unui nou director de proiect Python PythonApp.

mkdir PythonApp

Navigați la directorul proiectului PythonApp și inițializați mediul virtual tastând următoarea comandă:

virtualenv PythonAppVenv

Comanda de mai sus va configura mediul virtual pentru proiect PythonApp.

Creează un dosar numit PythonAppVenv în directorul proiectului PythonApp. Păstrează fișierele executabile Python și pip în interiorul dosarului de mediu virtual. Toate pachetele noi instalate pentru proiect după activarea mediului virtual sunt plasate în interiorul dosarului de mediu virtual. Aici este structura directorului:

Pentru a începe să utilizați mediul virtual, trebuie să îl activați utilizând următoarea comandă:

sursa PythonAppVenv / bin / activare

Odată activat, ar trebui să vedeți PythonAppVenv nume din partea stângă a numelui de prompt.

Să încercăm să instalăm un nou pachet pentru proiect PythonApp.

pip-balon de instalare

Noul pachet ar trebui să fie instalat în dosarul pentru mediul virtual. Verificați dosarul de mediu virtual din interior lib / python2.7 / site-pachete și ar trebui să puteți găsi noul instalat sticlă pachet. Puteți afla mai multe despre Flask pe pagina proiectului.

Odată ce ați terminat cu mediul virtual, îl puteți dezactiva utilizând următoarea comandă:

dezactivați 

Mai ușor de urmărit pachetele

În timp ce lucrați cu programele Python, instalați diferite pachete cerute de program. Continuați să lucrați și lista de pachete instalate continuă să se încarce. Acum vine momentul când trebuie să livrați codul Python la serverul de producție. Oops ... Chiar nu știți ce pachete ați instalat pentru a funcționa programul. 

Tot ce puteți face este să deschideți programul Python și să verificați toate pachetele pe care le-ați importat în programul dvs. și să le instalați unul câte unul.

Un mediu virtual oferă o metodă mai ușoară de a urmări pachetele instalate în proiect. Odată ce ați activat mediul virtual, acesta oferă posibilitatea de a îngheța starea actuală a pachetelor de mediu.

Puteți obține acest lucru utilizând următoarea comandă:

pip congelare> requirements.txt

Comanda de mai sus creează un fișier numit requirements.txt care are detalii despre pachetele cu versiuni în mediul actual. Iată cum arată:

Acum acest fișier ar fi foarte util pentru desfășurarea proiectului pe o altă platformă, deoarece toate dependențele de proiect sunt deja la dispoziția dvs. în requirements.txt fişier. Pentru a instala dependențele proiectului folosind requirements.txt fișier, executați următoarea comandă:

pip install -r requirements.txt

virtualenvwrapper pentru a face lucrurile mai ușoare

virtualenv instrument este de fapt un avantaj pentru dezvoltatori. Dar este foarte complicat atunci când trebuie să vă ocupați de mai multe medii virtuale. Pentru a gestiona mai multe medii virtuale, există o extensie la virtualenv instrument numit virtualenvwrapper

virtualenvwrapper este un înveliș în jurul valorii de virtualenv instrument care oferă funcționalitatea de a gestiona mai multe medii virtuale.

Să începem prin instalare virtualenvwrapper folosind pip.

pip instalare virtualenvwrapper

Odată ce ați instalat virtualenvwrapper, trebuie să setați directorul de lucru unde mediile virtuale vor fi stocate. Executați următoarea comandă pentru a seta directorul de lucru pentru virtualenvwrapper:

export WORKON_HOME = .virtualenvs

Comanda de mai sus stabilește directorul de lucru pentru virtualenvwrapper la .virtualenvs din directorul de acasă.

Puteți fie să sursa virtualenvwrapper comenzi pentru a rula de la terminal sau adăugați virtualenvwrapper comenzi către .bashrc.

sursă /usr/local/bin/virtualenvwrapper.sh

Comenzile vor fi accesibile în terminalul curent apăsând pe Tab cheie. Creați un nou dosar de proiect numit PythonProject. Navigați la directorul proiectului. Anterior, când ai folosit virtualenv, ați creat prima dată mediul virtual și apoi l-ați activat. Utilizarea virtualenvwrapper, puteți efectua ambele sarcini utilizând o singură comandă.

mkvirtualenv PythonVenv 

Comanda de mai sus creează mediul virtual și apoi o activează. 

Pentru a dezactiva mediul virtual, trebuie să tastați dezactivați comanda.

dezactivați

Acum presupuneți că în anumite scenarii trebuie să comutați între diferitele medii virtuale în care lucrați. virtualenvwrapper oferă workon pentru a schimba mediile virtuale. Comanda pentru comutarea mediului virtual este: 

lucrează în PythonV

În comanda de mai sus, PythonV este numele mediului virtual. Iată o imagine în care workon comanda este afișată în acțiune:

virtualenvwrapper oferă, de asemenea, o comandă pentru a lista mediile virtuale din mediul dvs..

Este $ WORKON_HOME

Comanda de mai sus afișează o listă de medii virtuale care există în mediul înconjurător.

Pentru a elimina un mediu virtual existent, puteți utiliza funcția rmvirtualenv comanda.

rmvirtualenv PV

Există o comandă care creează un director de proiect și mediul său virtual asociat. Navigați la terminal și executați următoarea comandă:

mkproject NewPro

Comanda de mai sus ar trebui să creeze proiectul și mediul său virtual asociat.

Există câteva comenzi pe care le puteți utiliza virtualenvwrapper. Puteți găsi lista de comenzi disponibile tastând următoarea comandă:

virtualenvwrapper

Înfășurați-o

În acest tutorial, ați văzut cum să începeți utilizarea mediilor virtuale în Python. Ați învățat importanța utilizării mediului virtual și a modului în care acesta funcționează. De asemenea, te-ai uitat la virtualenvwrapper, un înveliș în virtualenv instrument pentru gestionarea mai multor medii virtuale.

Ați folosit vreodată medii virtuale în Python? Spuneți-ne gândurile dvs. în comentariile de mai jos.

Cod