Geralmente quando se trabalha ativamente com uma linguagem, e com muitos projetos, gerenciar seu ambiente de desenvolvimento se torna tarefa complicada.
Não só pela quantidade de dependências que um projeto pode ter, mas pelo simples fato de que o projetoA e projetoB podem usar uma mesma dependência, mas em versões diferentes.
Pensando nesse cenário, vou falar um pouco de uma ferramenta que pode ajudar muito na organização de nosso ambiente de trabalho, o virtualenv.
O virtualenv
O conceito do virtualenv é relativamente simples. Com ele podemos criar “ambientes virtuais” para cada um de nossos projetos, assim cada projeto terá um ambiente dedicado para a instalação de suas dependências sem influenciar os demais projetos =)
No final das contas, cada projeto terá um espécie de sandbox.
Instalando o virtualenv
Antes de mais nada, por questões organizacionais criaremos uma pasta para abrigar nossos ambientes virtuais. Eu utilizo a pasta ~/.virtualenvs , mas isso não é regra, qualquer pasta pode ser utilizada desde que se tenha permissão de escrita nela, é claro :P
$ mkdir ~/.virtualenvs
supondo que você tenha o pip instalado(veja aqui como instalar), o virtualenv pode ser instalado a partir do comando:
$ pip install virtualenvCriando ambientes virtuais
com o virtualenv instalado, podemos criar nossos ambientes virtuais facilmente a partir do comando:
$ virtualenv ~/.virtualenvs/meu_ambiente
será criada uma pasta chamada “meu_ambiente” na sua pasta de ambientes ~/.virtualenvs com a seguinte estrutura
bin: Onde ficam os binários(sério?) do python e os scripts de ativação do ambiente virtual.
include: Onde ficam os headers do python, necessários para compilar extensões escritas em C.
lib: Onde ficam as bibliotecas/módulos do python
Dica: quando for criar o ambiente virtual, é aconselhável usar o parâmetro “–no-site-packages” para criar um ambiente “limpo”, ou seja, seu novo ambiente não herdará nenhum pacote já instalado no seu ambiente atual.
$ virtualenv --no-site-packages ~/.virtualenvs/meu_ambiente
Ativando seu ambiente
uma vez criado seu ambiente virtual, para ativá-lo basta executar o seguinte comando:
$ source ~/.virtualenvs/meu_ambiente/bin/activate
Pronto! Se você estiver utilizando bash(não testei com outros) , no início do prompt aparecerá o nome do seu ambiente entre parênteses, indicando que ele está ativo.
(meu_ambiente)seu_usuario@hostname:~$
Agora você pode utilizar o pip, que já vem com o novo ambiente, para instalar todas as depenências do seu projeto =)
Desativando seu ambiente
A qualquer momento você pode desativar seu ambiente virtual executando o seguinte comando:
$ deactivate
imediatamente após o comando, o nome do seu ambiente virtual que antes aparecia no começo do prompt não aparecerá mais.
Para saber mais, acesse a documentação do virtualenv =)
No próximo post, vou falar um pouco sobre o virtualenvwrapper, que agrega um conjunto de funcionalidades extras ao virtualenv e deixa papel de gerenciar seus ambientes virtuais ainda mais fácil =)
One Response