Como versionar projetos Django com o Mercurial – Parte 3

AGRADEÇA AO AUTOR COMPARTILHE!

Olá pessoas!

Dando continuidade a micro-série “Como versionar projetos Django com o Mercurial” (confira a parte 1 e a parte 2), vamos finalizar com um exemplo prático de um projeto Django usando o  Mercurial.

Começando…

Vamos reutilizar a estrutura dos posts anteriores. Para isso, inicie um projeto com o virtualenv:

Vamos aproveitar os procedimentos descritos na parte 2 deste post. Caso você ainda não tenha criado um repositório no Bitbucket, essa é uma boa oportunidade.

Não esqueça de mudar o caminho para o endereço do seu repositório.

Instalando o Django

Com o virtualenv ativado, vamos instalar o Django apenas para o nosso ambiente virtual através do pip:

Só para ter certeza que ele instalou o Django dentro do nosso ambiente virtual, vamos abrir o terminal do Python e digitar as seguintes instruções:

Você deverá obter como resposta uma string semelhante a esta:

Iniciando um projeto

Vamos fazer uma pequena brincadeira de troca de nomes de pastas, para que possamos criar o nosso projeto Django com o mesmo nome do repositório Mercurial:

Agora mandamos o django-admin.py iniciar o projeto:

Movemos os arquivos do nosso repositório para dentro de post_django_com_hg:

Entre no diretório post_django_com_hg e dê um hg status. Os arquivos base do Django não estão no projeto. Vamos adicioná-los, comitá-los e dar um push deles para o repositório Mercurial no Bitbucket:

Nos changesets do repositório, veremos a contribuição enviada:

Changeset no Bitbucket

Pronto! Basicamente, para termos o Mercurial versionando um projeto Django, são estes os procedimentos… mas eu sei como deixar a coisa ainda mais interessante ;)

Hora de congelar!

Digamos que você tenha um colaborador envolvido com o projeto. Quer dizer que ele vai ter que criar um virtualenv, clonar o repositório e instalar as dependências do projeto? A resposta é “sim” – Mas podemos facilitar esta última parte através do pip:

O comando pip freeze vai coletar os pacotes Python instalados (nesse nosso caso, dentro do nosso ambiente virtual através do virtualenv) e exibir para a gente em formato de lista. Com isso, podemos criar um arquivo que armazene as dependências do nosso projeto:

Vamos desativar o ambiente atual, criar um novo e instalar as dependências listadas nesta arquivo requirements.txt neste novo ambiente:

Veja a mágica acontecendo… o pip instalará todas as dependências contidas em requirements.txt em nosso novo ambiente virtual.

Podemos resumir os comandos acima em:

Versionando dependências do projeto

Logo o requirements.txt sendo um arquivo de texto, pode ser facilmente versionado pelo Mercurial:

Finalmente, temos um projeto Django versionado com Mercurial, disponível no Bitbucket, e com dependências facilmente gerenciáveis através do pip em conjunto com o virtualenv.

E você… utiliza controle de versão com o Django de uma outra forma? Conte-nos através dos comentários abaixo.

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.


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="">