RSS

Virtualenvwrapper

0 Comments | This entry was posted on May 04 2011

Depois falar um pouco sobre ambientes virtuais com virualenv no post anterior, vou mostrar um pouco do virtualenvwrapper.

O que é?

O virtualenwrapper, criado por Doug Hellmann, é uma extensão do virtualenv que permite gerenciar os ambientes virtuais de uma maneira ainda mais fácil! Ele faz isso através de Wrappers pré definidos e Hooks configurados pelo usuário para auxiliar em suas tarefas.

 

Instalando o virtualenvwrapper

Você pode obter fácilmente o virtualenvwrapper através do pip, que já foi abordado em outro post, da seguinte maneira:

$ pip install virtualenvwrapper

Feito isso, o próximo passo é criar uma variável de ambiente que indicará a localização de nossos ambientes virtuais e indicarmos ao interpretador onde buscar o virtualenvwrapper.

Edite seu arquivo ~/.bashrc e adicione o seguinte conteúdo:

export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper_bashrc

“$HOME/.virtualenvs” é onde ficam os ambientes virtuais por convenção.

Pronto!  Da proxima vez que abrir o terminal o virtualenvwrapper já estará ativo, ou se preferir, execute o seguinte comando para não ter que reiniciar o terminal:

$ source ~/.bashrc

 

Wrappers

O virtualenvwrapper possúi diversos wrappers(dãã) que auxiliam no gerenciamento dos ambientes virtuais, os principais são:

  • mkvirtualenv
    cria um novo ambiente virtual
  • rmvirtualenv
    remove um ambiente virtual existente
  • workon
    lista/troca de ambiente virtual
  • add2virtualenv
    adiciona um pacote externo ao path do atual ambiente virtual
  • cdsitepackages
    vai para a pasta “site-packages” do atual abiente virtual
  • cdvirtualenv
    vai para a pasta raiz do seu ambiente virtual

 

Hooks

Uma grande “mão da roda” presente no virtualenvwrapper são os hooks. Através deles podemos adicionar comportamentos que serão executados imediatamente após uma determinada ação.

O formato de um hook é nada menos que texto puro com comandos de terminal.

Os Hooks  são:

  • postmkvirtualenv
    Chamado imediatamente após a criação de um ambiente virtual
  • prermvirtualenv
    Chamado imediatamente antes da remoção de um ambiente virtual
  • postrmvirtualenv
    Chamado imediatamente após a remoção de um ambiente virtual
  • postactivate
    Chamado imediatamente após a ativação de um ambiente virtual
  • predeactivate
    Chamado imediatamente antes da desativação de um ambiente virtual
  • postdeactivate
    Chamado imediatamente após a desativação de um ambiente virtual

 

Exemplo de uso

supondo que eu tenha um projeto chamado trollface (problem?), eu preciso criar um ambiente virtual para ele.

$ mkvirtualenv trollface

ok! ambiente virtual instalado, agora pra confirmar que ele foi criado, vamos listas os ambientes virtuais:

$ workon

a saída provavelmente será essa:

trollface

pra facilitar as coisas, vamos supor que nosso projeto vai ficar em “~/workspaces/trollface/”  e queremos que ao ativar nosso ambiente virtual, o terminal entre nessa pasta.
Para isso editamos o arquivo “postactivate” que fica na pasta “bin” de nosso ambiente virtual, que por sua vez fica em “~/.virtualenv” que também e conhecido como $WORKON_HOME, lembra?
Adicione o seguinte conteúdo:

cd ~/workspaces/trollface/

agora podemos ativar nosso ambiente virtual

$ workon trollface

e por milagre, caimos direto na pasta de nosso projeto graças ao nosso hook  ;)

para mais informações, visite o site do criador, Doug Hellmann e não deixe de ver este excelênte screencast! =)

 

Awesome WM + eeePC

1 Comment | This entry was posted on Dec 06 2009

Bom…depois de ter falado pro umgeher que esse window manager não prestava…acabei mordendo a lingua :P

Acabei instalando ele no eeepc para ver com era e no final das contas gostei :)

Ele é a opçao perfeita para se rodar em netbooks, leve, minimalista e totalmente operacional via teclado.

Segue um screenshot dele rodando no meu eeepc e ficam ai minhas desculpas para o umgeher… nunca mais falo que seu window manager não presta hahaha.

Awesome Window Manager

Awesome Window Manager