Python, Django e virtualenv

AGRADEÇA AO AUTOR COMPARTILHE!

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:

Para instalá-lo é necessário ser root:

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

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:

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:

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:

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:

No final da operação, você irá se deparar com uma saída similar a esta:

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

AGRADEÇA AO AUTOR COMPARTILHE!

Klaus Peter Laube

Mais artigos deste autor »

Tecnólogo em Análise e Desenvolvimento de Sistemas pelo Centro Universitário de Jaraguá do Sul (UNERJ). Desenvolvedor Web de longa data, apaixonado por Python e defensor dos padrões Web. Escreve quando pode no http://www.klauslaube.com.br.


1 Comentários

Deixe seu comentário

Seu endereço de e-mail não será publicado. Campos com * são obrigatórios!

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