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 install ipython
So far so good. One thing I noticed is that if the system-wide copy of IPython is called from within a virtualenv using $> ipython before IPython is installed under this virtualenv, subsequent $> ipython commands will continue to bring up the system-wide ipython copy.
On the other hand, if ipython is not called prior to installing it under a virtualenv $> ipython will bring up the newly installed copy.
What is the explanation for this?
It also makes me wonder if this behavior means I should expect some trouble down the way?
ipythonexecutable somewhere (see this question).hash -r, which drops the cache of previously run commands, which is typically executed as part of activating an env. Check forhash -rin ENV/bin/activate.hash -rbefore activating an env resolves the problem. FYI I was working with virtualenv 1.10.1