Autonomia & Tecnologia

Um IPython para múltiplos virtualenvs

O IPython e o virtualenv são ferramentas imprescindíveis que utilizo literalmente em todos os projetos.

O uso recorrente destes dois pacotes pode gerar o incômodo de ter que instalar o IPython em cada virtualenv, mas existem alternativas para contornar este inconveniente.

A melhor delas é simplesmente instalar o IPython 0.13 no escopo do seu sistema. Esta versão lançada em junho de 2012 contém o patch para detectar automaticamente o virtualenv ativado.

Esta solução funciona para 90% dos casos. Os 10% restantes incluem cenários onde a versão do Python do seu sistema é diferente do seu virtualenv, por exemplo. Para estes casos especiais, basta instalar o IPython no próprio virtualenv.

Dentre as outras alternativas que observei, duas me chamaram a atenção: (1) incluir o IPython como dependência do projeto no requirements.txt ou (2) criar um requirements_dev.txt para não forçar a instalação do IPython no deploy do projeto.

Ambas devem ser evitadas. A primeira ignora que o IPython é na verdade uma preferência do desenvolvedor e não uma dependência do projeto. Há quem prefira o BPython como meu amigo Rodrigo Cacilhas. A segunda introduz a complexidade de duas listas de dependências usadas em momentos distintos o que é uma receita para desatualização e confusão.

[]’s, HB!

você pode gostar também
Comentários