virtualenvwrapper

Todo desenvolvedor Python conhece (ou deveria conhecer!) o virtualenv. Para quem não conhece, um resumo: o virtualenv permite que você crie ambientes isolados para instalar os seus pacotes e executar o seu interpretador python buscando pacotes desse ambiente isolado. Por exemplo, você precisa instalar a versão de desenvolvimento de alguma biblioteca para testar algo, mas está comprometido com algo que foi desenvolvido usando a versão estável desse biblioteca. Uma alternativa é manter as duas versões em algum diretório e ficar adicionando o caminho delas ao interpretador Python antes de importá-las, mas garanto que logo você se cansará disso. Com o virtualenv, você poderia fazer o seguinte:

cd ambiente/estavel
source bin/activate
python sua_aplicacao_usando_a_biblioteca_estavel.py

cd ambiente/desenvolvimento
source bin/activate
python sua_aplicacao_usando_a_biblioteca_de_desenvolvimento.py

 

Para mais informações, eu sugiro a leitura do post do Osvaldo sobre o assunto.

Para facilitar ainda mais o uso do virtualenv, Doug Hellmann criou uma série de scripts chamada virtualenvwrapper. Para instalar:

easy-install virtualenvwrapper
 

Isso irá criar no seu PATH o arquivo virtualenvwrapper_bashrc (aqui, ele ficou em /usr/bin/virtualenvwrapper_bashrc).
Após isso, precisamos ativá-lo.

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

Para tornar essas mudanças permanentes, adicione as duas linhas acima ao seu .bashrc.

Precisamos então criar o diretório $HOME/.virtualenvs, que será o nosso ‘$HOME’ de virtualenvs.

mkdir $HOME/.virtualenvs
 

Agora, podemos criar os ambientes!

walter@stark:~$ mkvirtualenv biblioteca_teste
New python executable in biblioteca_teste/bin/python
Please make sure you remove any previous custom paths from your /home/walter/.pydistutils.cfg file.
Installing setuptools…………done.
(biblioteca_teste)
 

O (biblioteca_teste) significa que estamos usando o ambiente criado.

Para listar os ambientes disponíveis:

(biblioteca_teste)walter@stark:~$ workon
bagunca
biblioteca_teste
pylons
 

Para trocar de ambiente:

(biblioteca_teste)walter@stark:~$ workon bagunca
(bagunca)walter@stark:~$
 

Apagando um ambiente:

(bagunca)walter@stark:~$ rmvirtualenv biblioteca_teste
(bagunca)walter@stark:~$ workon
bagunca
pylons
 

Mais sobre o virtualenvwrapper na página do projeto

This entry was posted in Linguagens, Python and tagged , , . Bookmark the permalink.

3 Responses to virtualenvwrapper

  1. Bem interessante, não conhecia esse.. Sempre usava shell-scripts customizados para isso. Mas o virtualenv realmente deixa bem mais fácil.

  2. Valeu pela dica, só que eu precisei primeiro criar os diretórios .virtualenvs e depois dar um source no virtualenvwrapper_bashrc, pois reclamava que o diretório não existia.

Deixe um Comentário

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>