quarta-feira, 8 de maio de 2013

configurando e testando o virtualenvwrapper no Ubuntu 12.04

Este é um roteiro básico pra quem quiser utilizar o virtualenv através da ferramenta virtualenvwrapper. A proposta do post é configurar estas ferramentas no ambiente Ubuntu 12.04 e colocar um projeto(django-mingus) em funcionamento neste ambiente virtual que será criado a partir das ferramentas citadas anteriormente. Antes de mais nada, devemos instalar alguns pacotes no sistema operacional:
islan@tornado:~$ sudo apt-get install python-dev python-pip python-setuptools
Como o projeto que instalaremos possui/utiliza outros projetos que adotam diferentes sistemas de controle de versão de código, necessitaremos ter as ferramentas básicas destes sistemas de controle de versões instaladas no Ubuntu:
islan@tornado:~$ sudo apt-get install git subversion mercurial
Finalizando, instalaremos o virtualenvwrapper:
islan@tornado:~$ sudo pip install virtualenvwrapper
Adicionar as seguintes linhas ao final do seu arquivo ~/.profile (obviamente, alterando o caminho $HOME/Documentos/.virtualenvs para o caminho que vc irá utilizar no seu ambiente:
export WORKON_HOME=$HOME/Documentos/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
Após a edição do ~/.profile, carregar estas alterações em seu ambiente:
islan@tornado:~$ source ~/.profile 
Agora já podemos criar nosso ambiente e entrar em seu diretório:
islan@tornado:~/Documentos/.virtualenvs$ mkvirtualenv myblog2
New python executable in myblog2/bin/python
Installing setuptools............done.
Installing pip...............done.
(myblog2)islan@tornado:~/Documentos/.virtualenvs$ workon myblog2
(myblog2)islan@tornado:~/Documentos/.virtualenvs$ cdvirtualenv 
(myblog2)islan@tornado:~/Documentos/.virtualenvs/myblog2$ 
Os passos seguintes são os mesmos previstos no roteiro de instalação do projeto django-mingus:
(myblog2)islan@tornado:~/Documentos/.virtualenvs/myblog2$ git clone git://github.com/montylounge/django-mingus.git
Alterar o arquivo stable-requirements.txt, adicionando um pacote que é requerido pelo projeto django-mingus mas que não foi listado:
-e git://github.com/ktonon/django-portfolio.git#egg=django_portfolio
Instalar os pacotes através do pip:
(myblog2)islan@tornado:~/Documentos/.virtualenvs/myblog2$ cd django-mingus/mingus/
(myblog2)islan@tornado:~/Documentos/.virtualenvs/myblog2/django-mingus/mingus$ vi stable-requirements.txt 
(myblog2)islan@tornado:~/Documentos/.virtualenvs/myblog2/django-mingus/mingus$ pip install -r stable-requirements.txt 
Criar o arquivo local_settings.py baseado no modelo já fornecido pelo projeto, criar/sincronizar a base de dados, carregar os dados de teste do projeto e finalmente executar o servidor de desenvolvimento:
(myblog2)islan@tornado:~/Documentos/.virtualenvs/myblog2/django-mingus/mingus$ mv local_settings.py.template local_settings.py
(myblog2)islan@tornado:~/Documentos/.virtualenvs/myblog2/django-mingus/mingus$ ./manage.py syncdb
(myblog2)islan@tornado:~/Documentos/.virtualenvs/myblog2/django-mingus/mingus$ ./manage.py loaddata test_data.json
Installed 23 object(s) from 2 fixture(s)
(myblog2)islan@tornado:~/Documentos/.virtualenvs/myblog2/django-mingus/mingus$ ./manage.py runserver
Pronto, se tudo ocorreu conforme o esperado você terá sua instalação do django-mingus rodando em um ambiente isolado e acessível através do endereço: http://127.0.0.1:8000/

cache local de pacotes instalados via pip

Quer fazer cache local de pacotes já baixados via "pip install" poupando seu tempo e sua conexão? Basta adicionar a variável de ambiente PIP_DOWNLOAD_CACHE ao final de seu ~/.profile (Substitua o caminho como lhe convier):
export PIP_DOWNLOAD_CACHE=$HOME/.pip_download_cache
Recarregue seu .profile
islan@tornado:~$ source ~/.profile 
Pronto.