ver uma linha em branco, porque voce ainda nao tem nenhum ambiente virtual criado com o virtualenvwrapper.mkvirtualenvO comando mkvirtualenv cria um ambiente virtual baseado no nome que voce passar, e voce pode passar os mesmos parametros que sao passados ao virtualenv.$ mkvirtualenv --no-site-packages meu_ambienteQuando voce digitar o comando acima criara um ambiente virtual com nome de meu_ambiente, que nao compartilha pacotes com o python do sistema e ira automaticamente ativar o ambiente.rmvirtualenvQuando nao houver mais interesse em usar um ambiente virtual, ele pode ser apagado com o comando rmvirtualenv. E necessario estar com o ambiente em questao desativado - caso esteja ativado use o deactivate.$ rmvirtualenv meu_ambienteworkonO comando workon quando chamado sem parametros mostra todos os ambientes virtuais existentes. Mas quando chamado com o nome do ambiente virtual, ativa o ambiente e executa os hooks (caso existam).$ workon # lista os ambientes virtuais$ workon meu_ambiente # ativa o ambiente virtual meu_ambientecdvirtualenvMuda o diretorio atual para o diretorio do ambiente virtual. Por exemplo, voce esta na pasta /tmp e quer ir pra pasta do ambiente meu_ambiente:(meu_ambiente)hugo@hugo-laptop:/tmp$ pwd/tmp(meu_ambiente)hugo@hugo-laptop:/tmp$ cdvirtualenv(meu_ambiente)hugo@hugo-laptop:~/.virtualenvs/meu_ambiente $ pwd/home/hugo/.virtualenvs/meu_ambientecdsitepackagesO comando cdsitepackages muda do diretorio atual para o diretorio de site-packages do ambiente virtual.$ cdsitepackageslssitepackagesO comando lssitepackages faz um ls na pasta site-packages.$ lssitepackagescpvirtualenvQuando houver necessidade de clonar um ambiente virtual, seja porque voce precisa basear-se nos pacotes ja instalados ou por qualquer outro motivo, use o cpvirtualenv.$ cpvirtualenv meu_ambiente meu_ambiente_clonadoHooksHooks sao scripts que sao ativados antes, depois ou durante o acontecimento de um evento. Por exemplo, no Git voce pode criar um script pra que apos cada push executado no repositorio diga ao servidor de integracao continua pra rodar o build.No virtualenvwrapper existem hooks tambem, com a mesma ideia. A documentacao do virtualenvwrapper documenta os hooks na area de Per-User Customization. Vou explicar apenas dois deles, o postactivate e o mpostmkvirtualenv.postactivateE um shell script que voce deve colocar na sua $WORKON_HOME/postactivate - no nosso caso $WORKON_HOME sera ~/.virtualenvs. O caso abaixo muda o diretorio corrente para o diretorio PASTA sempre que algum ambiente virtual for ativado:$ echo 'cd PASTA_QUALQUER' >> $WORKON_HOME/postactivatepostmkvirtualenvUma das dicas que o Doug Hellmann, o autor do virtualenvwrapper, da na documentacao e que as vezes voce precisa instalar alguns pacotes pra ter seu ambiente virtual pronto pra usar. Eu fiz isso. Sempre que eu crio um ambiente virtual alguns pacotes sao instalados. No meu caso eu ainda fiz mais, eu adicionei um link pra um pacote python que e instalado junto ao Ubuntu (no caso o GTK e o Cairo, pra eu usar o pynotify no ambiente virtual).Vamos fazer um caso simples: atualizar o pip, instalar o ipython e o nosetests.$ echo 'pip install -U pip' >> $WORKON_HOME/postmkvirtualenv$ echo 'pip install ipython nose' >> $WORKON_HOME/postmkvirtualenvAgora sempre que um ambiente virtual for criado ele atualizara o pip do ambiente virtual e instalara no mesmo ambiente o pacote ipython e nose.PeonImagine que voce quer executar algum comando sempre que algum arquivo for modificado num determinado diretorio. Como faz? Bem, voce pode criar um script que cria um checksum baseado no somatorio do tamanho de cada arquivo e na data de modificacao.