To complement on @Peter's answer, I might add that the ipython "executable" you run are simply python script that launch the ipython shell. So a solution that worked for me was to change the python version that runs that script:
$ cp ipython ipython3
$ nano ipython3
Here is what the script looks like:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import re
import sys
from IPython import start_ipython
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
sys.exit(start_ipython())
You can now replace this first line with your correct version of python, for example, you may wan to use python 3:
$ which python3
/usr/bin/python3
so you would simply replace /usr/bin/python by /usr/bin/python3 in your newly created ipython3 file!