Python, Django e virtualenv
Autor: Emilly Cindy | Publicado: 2011-04-26T10:56:00-03:00

Olá pessoas! 

Você está começando em Python e vive ouvindo falar sobre um tal de virtualenv? Pois bem, vamos aproveitar para dar uma pincelada nesta útil ferramenta, e como usá-la com nossos amigos Python e Django. 

Python 

Conheça alguns motivos que lhe convencerão a usar Python. 

O Python já vem instalado na maioria das distribuições Linux. Na verdade, até hoje nunca usei uma distro Linux que não tivesse o Python préviamente instalado. No Slackware 13.1, o Python está na versão 2.6.4. No Debian 6, o Python está na versão 2.6.6. 

O portal Python Brasil possui um excelente material para você instalar e dar os primeiros passos com Python. 

virtualenv 

A linguagem Python não vem “de bobeira” nas distribuições Linux, ela faz parte delas, sendo utilizada para criação de uma série de scripts fundamentais. Passei por uma situação peculiar com o Python: estava usando o OpenSuse (não recordo a versão) e decidi atualizar a versão do Python utilizando o sistema de pacotes da distro… confirmei algumas operações de remoção (que não deveria ter autorizado) e acabei danificando minha instalação do SO. 

Então, para aqueles que programam em computadores pessoais, e não querem comprometer tanto o SO quanto o workspace, podem criar ambientes isolados para os projetos utilizando o virtualenv. 

No Slackware vamos instalar o setuptools, que é um framework que facilita a instalação e criação de pacotes Python: wget http://peak.telecommunity.com/dist/ez_setup.py


Para instalá-lo é necessário ser root: python ez_setup.py


Em seguida, vamos instalar o virtualenv com a ajuda do easy_install (que faz parte do pacote setuptools): easy_install virtualenv


Esta é uma forma interessante para você instalar módulos Python em seu sistema sem recorrer ao sistema de pacotes do SO. 

Agora, como um usuário comum, vamos criar um ambiente em nosso home para testarmos o virtualenv: virtualenv ~/projeto_django


Entrando nesta pasta, você irá se deparar com três diretórios: 
bin: Os executáveis do seu ambiente isolado estarão aí. Você poderá notar o executável python, o easy_install, o pip e um carinha chamado “activate” (falaremos deste mais tarde).
lib: Nesta pasta você encontrará os módulos e bibliotecas Python utilizadas por este ambiente.
include: Segundo o Osvaldo Santana, dentro desse diretório estão os links simbólicos para todos os headers do Python que são necessário para se compilar extensões escritas em C para ele. 

Você apenas criou seu ambiente… para ativá-lo basta dar o seguinte comando: source ~/projeto_django/bin/activate


Pronto! Se você executar o Python agora, você estará utilizando as libs deste ambiente. Isso pode permitir que você mova este ambiente entre máquinas, que você instale libs somente neste ambiente (deixando o Python do seu SO “limpo”, isso pode te garantir maior performance da distro) e que você tenha um controle maior sobre as dependências do seu projeto. 

Para “sair” do ambiente, basta executar o comando deactivate: deactivate


Pronto… muito simples, não? 

Django 

Saiba um pouco mais sobre a programação Python para Web. 

Vamos instalar o Django neste ambiente isolado. Ativaremos novamente o virtualenv e usaremos o easy_install para nos ajudar com esta tarefa: source ~/projeto_django/bin/activate 
easy_install django


No final da operação, você irá se deparar com uma saída similar a esta: Installed /home/user/projeto_django/lib/python2.6/site-packages/
Django-1.2.5-py2.6.egg 
Processing dependencies for django 
Finished processing dependencies for django


Isto é a garantia que o Django foi instalado dentro deste ambiente, e não está visível para o escopo global da distribuição. Tente importa o django no terminal interativo do Python da sua distro e do Python do seu ambiente isolado e veja o que acontece… 

Entenda o que é o Django e como ele funciona. 

Até a próxima… 

Fonte: Blog Klaus Laube