Executar iPython de forma limpa dentro de um virtualenv

Se você executar o ipython diretamente na linha de comando sem tê-lo instalado dentro do virtualenv em que está trabalhando, poderá obter um comportamento estranho, pois o iPython estará executando uma mistura de ambientes (todo o sistema + virtualenv) … normalmente você veria um aviso do seguinte modo

WARNING: Attempting to work in a virtualenv. If you encounter problems, please install IPython inside the virtualenv.
Python 2.7.3 (default, Jan 2 2013, 13:56:14)
Type "copyright", "credits" or "license" for more information.

IPython 0.13.2 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.

help -> Python'
s own help system.
object? -> Details about 'object', use 'object??' for extra details.

In [1]:

Para evitar isso, uso um alias que garante que o iPython seja carregado de dentro do venv … aqui está:

alias ipy="python -c 'import IPython; IPython.frontend.terminal.ipapp.launch_new_instance()'"

Editar: a partir do ipython 1.0, este é o novo alias

alias ipy="python -c 'import IPython; IPython.terminal.ipapp.launch_new_instance()'"

agora correndo ipysaberei com certeza que estou correndo dentro do venv.