Virtualenv Python - Encapsulamento de mudanças

O virtualenv possibilita a utilização de um encapsulamento, do tipo instancia python, que permite a total personalização, sem a modificação da instalação principal.

O uso do virtualenv é extremamente simples e direto. Basta instalar, executar e ativar.

Instalação

Se você está usando Linux Ubuntu ou Debian:
$sudo aptitude install python-setuptools
$sudo easy_install virtualenv


Se está usando outro Linux:
$wget http://peak.telecommunity.com/dist/ez_setup.py
$sudo python ez_setup.py


Criando o ambiente
Para criar um ambiente basta executar o virtualenv e passar como parâmetro o nome do diretório onde tal ambiente será instalado:
$virtualenv --no-site-packages meu_python


Esse comando irá criar um diretório chamado meu_python com os diretórios:
  • bin - executável do interpretador, o script easy_install e o arquivo activate que será usado para “ativar” o ambiente. Quando o ambiente está “ativo” os executáveis dos aplicativos Python são instalados aqui também.
  • lib - a árvore com links simbólicos e/ou cópias de todos os módulos e bibliotecas do Python. Quando esse ambiente está “ativo” os módulos e pacotes serão sempre instalados dentro desse diretório.
  • include - dentro desse diretório estão os links simbólicos para todos os headers do Python que são necessários para se compilar extensões escritas em C para ele.



  • Ativando o ambiente para usar
    Para usar esse ambiente recém-criado é necessário ativá-lo. para isso basta executar o seguinte comando:
    $source meu_python/bin/activate

    Esse comando irá adicionar o diretório meu_python/bin no PATH da sua sessão e mudar o prompt para que você possa distinguir visualmente quando este ambiente está ativo.
    Atenção: O virtualenv não cria o link simbólico python -> python2.5, portanto, se precisar dele você terá que criá-lo à mão com o seguinte comando
    $cd meu_python/bin;
    $ln -s python2.5 python;
    $hash -r

    Pronto os seus problemas acabaram!!! É só instalar os produtos python sem a se preocupar.



    Referências:
    http://grok.zope.org/documentation/how-to/using-virtualenv-for-a-clean-grok-installation
    http://www.hersonls.com.br/blog/2011/04/06/django-e-virtualenv-criando-ambiente-django-atrave/
    http://www.infoblogs.com.br/view.action?contentId=29857&Ambiente-Isolado-para-Python-com-virtualenv.html
    http://blog.triveos.com.br/2008/03/03/ambiente-isolado-para-python-com-virtualenv/

    Comentários