sexta-feira, 23 de maio de 2014

[Dica] - Virtualenv com Virtualenvwrapper no Ubuntu

Olá pessoal, esse post vai para os programadores de Python que querem isolar seus ambientes de desenvolvimento.

Virtualenv permite criar ambientes virtuais isolados. Exemplo: você possui dois projetos, um utiliza Python 3.x e o outro Python 2.x. Cada projeto possui bibliotecas diferentes, cada biblioteca pode possuir suas dependências que podem variar de acordo com a versão, enfim, com o virtualenv você pode possuir vários projetos, cada um irá ter seu ambiente virtual e assim você poderá instalar os pacotes necessários em cada ambiente.

Como instalar o virtualenv? Você pode usar o pip (gerenciador de pacotes).

Para instalar o pip basta abrir o terminal (Ctrl + Alt + T) e digitar o comando:

sudo apt-get install python-pip

Para instalar o virtualenv, execute o comando no terminal:

sudo pip install virtualenv

Crie um diretório para armazenar os ambientes virtuais, dê o nome que desejar, o comando "mkdir" cria um diretório, o nome que vou escolher é "virtualenvs" e irei criar no diretório da minha pasta pessoal:

mkdir virtualenvs

Agora iremos instalar o virtualenvwrapper. Como o próprio nome já indica, é um wrapper do virtualenv para tornar mais fácil a manipulação de ambientes virtuais.

Para instalar o virtualenvwrapper digite no terminal:

sudo pip install virtualenvwrapper

Agora basta setar WORKON_HOME para o seu diretório (no meu caso eu criei o diretório "virtualenvs" no mesmo diretório da minha pasta pessoal):

export WORKON_HOME=/home/marcos/virtualenvs

Abra o arquivo ~/.bashrc, eu irei abrir com o nano:

nano ~/.bashrc

Digite a seguinte linha ao final do arquivo ~/.bashrc

. /usr/local/bin/virtualenvwrapper.sh


Não esqueça de gravar!! (Ctrl + O). Depois pode sair (Ctrl + X).

Agora vamos testar criando um novo ambiente virtual. Irei chamá-lo de geeksbr.

mkvirtualenv geeksbr


Perceba na imagem acima que, após criar o novo ambiente virtual chamado "geeksbr", apareceu um (geeksbr) antes do seu nome de usuário. Isso quer dizer que você está dentro do ambiente virtual, ou seja, tudo que você instalar (alguma biblioteca por exemplo) irá para esse ambiente virtual.

Para sair do ambiente virtual digite: deactivate


Perceba que sumiu o (geeksbr), isso quer dizer que você saiu do ambiente virtual "geeksbr".

Para entrar no ambiente virtual "geeksbr" digite:

workon geeksbr


Vamos testar para ver se isolou mesmo o ambiente? Fora do ambiente "geeksbr" eu não tenho o django instalado. Veja:


Mas dentro do ambiente virtual chamado "geeksbr" eu tenho o django instalado. O comando que utilizei para instalar o django dentro do ambiente virtual foi:

pip install django

E se eu fizer a mesma coisa que fiz fora do ambiente virtual:


Percebeu? No ambiente virtual "geeksbr" possui o Django e fora dele não possui o Django, o ambiente está isolado :)

Quaisquer dúvidas deixem nos comentários, até a próxima.


Nenhum comentário: