Categories
Desenvolvimento

Ambiente de desenvolvimento Django

O Django é um framework de desenvolvimento Web escrito em Python. Toda vez que começo um novo projeto em Django, eu sigo quase sempre as mesmas etapas. Algumas etapas são auxiliadas por outros programinhas bem bacanas que são o pip, o virtualenv e o virtualenvwrapper.

O pip é um gerenciador e instalador de pacotes Python.  Uso o pip para baixar as dependências dos meus projetos. Eu costumo guardar os nomes das dependência em um arquivo de texto, na raiz do projeto, para aqueles que forem instalar o projeto saberem o que devem instalar com o pip.

O virtualenv é uma ferramenta que permite isolar um ambiente Python. Para cada projeto, eu crio um ambiente Python e uso o pip para instalar as dependências do meu projeto nesse ambiente isolado.

O virtualenvwrapper é um facilitador de uso do virtualenv. Ele já define o lugar onde serão criados os ambientes isolados e provê alguns atalhos para ativar, desativar e apagar esses ambientes.

Instalação das ferramentas

Mostro a seguir como eu instalo o pip, virtualenv e virtualenvwrapper em minha estação de desenvolvimento.

Instalando do pip

Eu costumo instalar o pip através do gerenciador de pacotes do sistema operacional. Eu uso o Archlinux, então instalo da seguinte forma:

$ sudo pacman -S python-pip

Se a versão do pip que foi instalada é muito antiga, você pode usar o próprio pip para atualiza-la.

$ sudo pip install pip --upgrade

Instalando o virtualenv

No mesmo estilo acima, eu uso o gerenciador de pacotes do sistema operacional para instalar o virtualenv. Como eu uso o Archlinux, instalo da seguinte forma:

$ sudo pacman -S python-virtualenv

Dependendo do seu sistema operacional, alguns pacotes podem estar mais velhos do o que o desejado. Caso você desconfie disso, você pode instalar o virtualenv através do pip.

$ sudo pip install virtualenv

Instalando o virtualenvwrapper

Da mesma forma que os pacotes acima, eu uso o gerenciador de pacotes do Archlinux para instalar o virtualenvwrapper.

$ sudo pacman -S python-virtualenvwrapper

Só que esse pacote precisa de um passo a mais, que é para carregá-lo automaticamente quando você faz login em um terminal. Para isso tente:

$ echo 'source /usr/bin/virtualenvwrapper.sh' >> ~/.bashrc

Criação de um projeto com um novo ambiente python

Meu ponto de partida agora é a pasta ~/devel, onde eu guardo todos os meus projetos.

Criando o virtualenv

Eu acho importante ser explícito em relação a versão de Python que vou usar. O Archlinux tem o python na versão 3 por padrão. No caso abaixo, quero criar um ambiente isolado com python 2.

$  mkvirtualenv meu_novo_projeto -p /usr/bin/python2

Instalando o Django

Depois que você ativa o virtualenv, seu shell ganha o prefixo com o nome do projeto que você deu, no caso ‘meu_novo_projeto’. Tendo isso, vamos instalar o Django.

(meu_novo_projeto)$ pip install django

Tá demorando né? Sim, o pip é um bocado demorado pra baixar as coisas. Como lição de casa, procure no Google por PIP_DOWNLOAD_CACHE.

Começando o projeto com o Django

Legal, temos o Django instalado no nosso ambiente, agora vamos começar nosso projeto, com o mesmo nome do ambiente que criamos, só pra sermos organizados.

(meu_novo_projeto)$ django-admin startproject meu_novo_projeto

Vamos iniciar o Django pra saber se tudo deu certo.

(meu_novo_projeto)$ cd meu_novo_projeto
(meu_novo_projeto)$ ./manage.py syncdb --noinput
(meu_novo_projeot)$ ./manage.py runserver

Agora veja em seu navegador no endereço http://localhost:8000. Se estiver vendo a telinha inicial do Django, tudo deu certo.

Referências

  • https://docs.djangoproject.com/en/1.6/
  • https://pip.pypa.io/en/latest/installing.html#using-package-managers
  • http://virtualenvwrapper.readthedocs.org/en/latest/
Categories
Linux

Sed – como apagar linhas?

sed é uma ferramenta GNU para tratamento de textos. É possível fazer operações sobre arquivos textuais e saídas de outros programas. Para usar o sed é recomendável saber um pouco de expressões regulares para encontrar padrões, mas é possível usá-lo com simples strings.

Para as experiências a seguir, será usado um arquivo texto com alguns nomes de pessoas, chamada nomes.txt, que contém dois nomes por linha. As alterações feitas pelo sed não persistem no arquivo sem a opção -i, então o mesmo arquivo será usado para todos os comandos.

[~] cat > nomes.txt <<- DONE
Guilherme Sofia
Gustavo Maria
Lucas Beatriz
Enzo Camila
Vinicius Amanda
Joao Bruna
Eduardo Isabela
Bruno Ana
DONE

 Apagar linhas

Em um script para o sed a letra d significa a deleção de uma linha.

Apagar a linha número 2

[~] sed -e '2d' nomes.txt
Guilherme Sofia
Lucas Beatriz
Enzo Camila
Vinicius Amanda
Joao Bruna
Eduardo Isabela
Bruno Ana

Apagar da linha 1 até a linha 3 (inclusive)

[~] sed -e '1,3d' nomes.txt
Enzo Camila
Vinicius Amanda
Joao Bruna
Eduardo Isabela
Bruno Ana

Apagar da linha 3 (inclusive) até o fim do arquivo

[~] sed -e '3,$ d' nomes.txt
Guilherme Sofia
Gustavo Maria

Apagar linhas com o primeiro nome terminando em o

Padrões no sed devem ficar entre duas barras /.

[~] sed -e '/^\w\w*o /d' nomes.txt
Guilherme Sofia
Lucas Beatriz
Vinicius Amanda

Apagar da linha que começa com Lucas até a linha que termina com Amanda

[~] sed -e '/^Lucas/,/Amanda$/d' nomes.txt
Guilherme Sofia
Gustavo Maria
Joao Bruna
Eduardo Isabela
Bruno Ana

Apagar a linha que termina com Beatriz e também a próxima linha

É possível realizar mais de um comando para o mesmo padrão que o sed encontrou no texto de entrada. Os comandos ficam entre chaves. O comando N seleciona a linha seguinte junto a linha do padrão encontrado para serem apagadas pelo comando d.

[~] sed -e '/Beatriz$/{ N; d }' nomes.txt
Guilherme Sofia
Gustavo Maria
Vinicius Amanda
Joao Bruna
Eduardo Isabela
Bruno Ana

Referências