I understand that IPython is not virtualenv-aware and that the most logical solution to this is to install ipython in each virtualenv seperately using
pip i
The answer given by @SiddharthaRT is good! Following this approach, it is simpler for me just:
python -m IPython
This will use the module IPython through the python bin, ensuring that it refers to the bin from the virtual env.