ipython reads wrong python version
Okay quick fix:
which python
gives you /usr/bin/python
, right? Do
which ipython
and I bet that'll be /usr/local/bin/ipython
. Let's look inside:
Edit 9/7/16 -- The file now looks like this:
cat /usr/local/bin/ipython
#!/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())
And mine works properly like this, but my situation isn't exactly like the OP's.
Original answer -- 9/30/13:
cat /usr/local/bin/ipython
#!/usr/bin/python
# EASY-INSTALL-ENTRY-SCRIPT: 'ipython==0.12.1','console_scripts','ipython'
__requires__ = 'ipython==0.12.1'
import sys
from pkg_resources import load_entry_point
if __name__ == '__main__':
sys.exit(
load_entry_point('ipython==0.12.1', 'console_scripts', 'ipython')()
)
Aha - open /usr/local/bin/ipython
in your editor (with privileges), and change the first line to
#!/usr/local/bin/python
save, start iPython, should say it's using the version you want now.
Posting @Matt's comment as an answer just so its more visible
python -m IPython
Loads ipython as a module with whatever python is accessible on the path first. In my case I had one pre-installed and one I added from brew. This just works perfectly.