virtualenv

Instal·lació

Instal·lar virtualenv:

sudo pip install virtualenv
sudo aptitude install python-virtualenv

Creació d'un entorn virtual

Per crear un entorn virtual és recomanable crear un directori i entrar dins:

mkdir virtualenv
cd virtualenv

En els següents exemples suposarem que creem un entorn virtual anomenat "talasa".

Entorn virtual i llibreries del nucli

virtualenv talasa --system-site-packages

Crearà un directori anomenat talasa que utilitzarà les llibreries instal·lades amb pip de l'entorn real.

Entorn virtual sense llibreries del nucli instal·lades amb pip

virtualenv talasa --no-site-packages

Crearà un directori anomenat talasa que evita utilitzar els paquets disponibles al directori site-packages del sistema. Això farà que només estiguin disponibles els mòduls estàndar de Python i que s'hagin d'instal·lar la resta de paquets que es necessitin.

Activació de l'entorn virtual

Cal entrar dins del directori i executar la comanda bin/activate:

cd talasa
source bin/activate

Això canvia el $PATH per a que la primera entrada sigui el directori bin/ de l'entorn virtual. També modifica el prompt del sistema, per indicar quin entorn està actiu en el moment actual.

(talasa)jmartin@debian-server-base:/$ echo $PATH
/home/jmartin/talasa/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

Instal·lació de paquets

Un cop activat l'entorn virtual, podem instal·lar paquets utilitzant pip:

(talasa)jmartin@debian-server-base:/$ pip install banknumber

El paquet s'instal·la a:

talasa/lib/python2.7/site-packages/

Desactivació de l'entorn virtual

Per desactivar l'entorn virtual, només cal executar la comanda deactivate, i tot tornarà a estar igual que abans:

deactivate

Alies == virtualenv

Afegir aquests alies al fitxer .bashrc

Creació entorn virtual

virtualcreate() {
    virtualenv $1 --system-site-packages
}

$ virtualcreate nominstvirtual

Activació entorn virtual

alias virtualactive='source bin/activate'

$ virtualactive

virtualenvwrapper

Configuració

Afegirem al nostre .bashrc:

export WORKON_HOME=~/.virtualenvs
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--system-site-packages'
source /usr/local/bin/virtualenvwrapper.sh

Activar el env

Manualment

workon NOM_VIRTUALENV

Al fer cd en el directori

Crearem al nostre directori el fitxer ".env":

echo "${PWD##*/}"

i afegirem al nostre .bashrc:

# automatic login/logout virtualenv
function cd() {
    builtin cd $@;
    typeset venv
    if [ -f .env ]; then
        venv=`sh .env`
        if [ "${VIRTUAL_ENV##*/}" != "$venv" ]; then
            if `workon | grep -q "$venv"`; then
                workon "$venv"
            fi
        else
            workon "$venv"
        fi
    fi
}


CategoryPython

Python/virtualenv (last edited 2016-10-24 11:52:17 by resteve)

Contenidos creados por el equipo de Zikzakmedia. Creative Commons By-NC-SA

PythonZikzakmedia