Mini tutorial virtualenvwrapper

Não é o guia definitivo do virtualenv, mas serve como um guia rápido de bolso, para o uso diário 🙂

Praticamente uma tradução do gerenciando ambientes com o virtualenvwrapper.

Criando um ambiente, quando criar o ambiente, o virtualenvwrapper já passa a usá-lo:
mkvirtualenv [nome-do_ambiente]

Instalando um arquivo requirements.pip usando o pip:
pip install -r requirements.pip

Um arquivo requirements.pip é um arquivo texto com uma lista de pacotes, num formato conhecido pelo pip.
Exemplo de um requirements.pip ——————————————–
django=1.3
mock
git+git://github.com/cmheisel/nose-xcover.git#egg=nosexcover

—————————————————————————

No caso acima, ele vai instalar os pacotes:

  • django, na versão 1.3
  • mock, na última versão disponível
  • nose-xcover, usando o último commit, e nomeando o arquivo egg para nosexcover

No momento da criação do ambiente, você pode informar o arquivo de dependências:
mkvirtualenv [nome-do_ambiente] -r requirements.pip

Para ver os ambientes existentes:
lsvirtualenv

Mudar para outro ambiente existente:
workon [nome-do_outro_ambiente]

Para remover um ambiente:
rmvirtualenv [nome-do_ambiente]

Lembrando que para remover o ambiente atual precisa mudar para outro, ou desativar o virtualenvwrapper:
deactivate

Montando um ambiente Python

Fui alocado em um projeto feito em Python com Django. Estou montando o ambiente de desenvolvimento e resolvi colocar aqui um passo a passo.

Como estou no MacOS, não precisei instalar o Python.

Instalar o pip no Python do sistema operacional: Ele é um substituto do easy_install. Até agora, o que vi de diferente é que você pode passar um arquivo com suas dependências para ser instalado.
easy_install pip

Instalar o VirtualEnv: Serve para criar ambientes python isolados. Como um RVM, do ruby.
pip install virtualenv

Instalar o Vitual Env Wrapper: Então, aparentemente, o VirtualEnv não tem uns comandos bacanudos como o rvm, daí foi criado esse wrapper, para dar uma moral
pip install virtualenvwrapper

Breve config do Vitual Env Wrapper:
Adicionar no ~/.bashrc, ou ~/.bash_profile:
# VirtualENV config
export WORKON_HOME=~/.virtualenvs
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages --distribute'
source /usr/local/bin/virtualenvwrapper.sh

Assim todos os envs criados não terão uma pasta site-packages e usarão o Distribute.

A partir de agora, não bagunço mais nada no Python do sistema operacional.