Dando continuidade a série “Montando seu ambiente de desenvolvimento Django em Linux”, vamos dar uma pincelada na tríade Python, Django e virtualenv.
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 previamente 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.
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?
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 *easyinstall*_ 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…