Virtualenv

De Cacauet Wiki
La revisió el 16:48, 8 set 2016 per Enric (discussió | contribucions) (Es crea la pàgina amb «Virtualenv és un programari que ens permet crear un entorn aïllat de llibreries i executables per a Python. Aquesta eina és molt important ja que ens permet tenir,...».)
(dif) ← Versió més antiga | Versió actual (dif) | Versió més nova → (dif)
Salta a la navegació Salta a la cerca

Virtualenv és un programari que ens permet crear un entorn aïllat de llibreries i executables per a Python.

Aquesta eina és molt important ja que ens permet tenir, dins d'un mateix servidor, diverses versions de cada llibreria, i no interferir amb els paquets que té instal·lats el sistema operatiu.

De fet, és una bona pràctica instal·lar el mínim de llibreries a nivell de sistema operatiu, i fer tots els desenvolupaments o desplegaments cadascú amb els seus binaris i llibreries en un virtualenv.


Instal·lació

Gestor de paquets Python PIP

Primer de tot ens cal tenir instal·lat el gestor de paquets Python PIP (la "alternativa" a easy_install, però que ara per ara ja és la primera opció). En un entorn Debian/Ubuntu el podríem instal·lar amb un apt-get install python-pip . Però millor fer-ho a través del script següent, ja que aconseguirem la darrera versió:

https://pip.pypa.io/en/stable/installing/

Descarrega l'script get-pip.py i executa amb sudo per que s'instal·li a nivell de sistema:

$ sudo python get_pip.py

Podem saber quines llibreries hi ha instal·lades en el sistema fent:

$ pip freeze

Preneu nota, perquè aquesta comanda és molt útil per reproduir entorns de desenvolupament.

PIP es pot actualitzar a ell mateix amb:

$ pip install --upgrade pip

Virtualenv package

Un cop instal·lat PIP, podrem descarregar i instal·lar Virtualenv en el sistema. Serà el darrer cop que fem sudo, ja que, tal i com hem dit, la bona pràctica és instal·lar el mínim de paquets a nivell de sistema operatiu.

$ sudo pip install virtualenv

Si volguéssim instal·lar alguna versió concreta, podríem fer algo així com

$ sudo pip install virtualenv==15.0.1

O bé aquesta, que instal·laria la darrera versió, o al menys alguna que superés la indicada.

$ sudo pip install virtualenv>=15.0.1


Crear entorns virtuals

Per crear un entorn de programació virtual, ara podrem fer:

$ virtualenv --no-site-packages ~/env1

Ens crearà una carpeta al nostre home directory anomenada "env1" amb aquesta estructura:

env11
├── bin
├── include
│   └── python2.7 -> /usr/include/python2.7
├── lib
│   └── python2.7
│       ├── distutils
│       ├── encodings -> /usr/lib/python2.7/encodings
│       ├── lib-dynload -> /usr/lib/python2.7/lib-dynload
│       └── site-packages
└── local
    ├── bin -> /home/enric/env11/bin
    ├── include -> /home/enric/env11/include
    └── lib -> /home/enric/env11/lib