I've recently deleted Anaconda and reinstalled python with brew. I've installed everything according to these instructions.
Python works great, and all packages I've tested so far also work. I've got ipython installed, but trying to launch it from the terminal gives:
-bash: ipython: command not found
I've located the installation at:
/usr/local/lib/python2.7/site-packages/ipython
Following older related questions, I've tried adding this path to .bash_profile but got:
-bash: :/usr/local/lib/python2.7/site-packages/ipython: No such file or directory
Whenever terminal starts.
Some more info: Anaconda installed an removed, El-Capitan 10.11.2, python 2.7.
Any help would be much appreciated!
EDIT: added some more info to @cel request:
echo $PATH
gives:
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/git/bin:/Library/TeX/texbin:/Applications/Sublime Text.app/Contents/SharedSupport/bin
which -a python
gives: /usr/local/bin/python
and /usr/bin/python
.
EDIT: added the output of python -m pip install ipython
to cel's request:
Requirement already satisfied (use --upgrade to upgrade): ipython in /usr/local/lib/python2.7/site-packages Requirement already satisfied (use --upgrade to upgrade): traitlets in /usr/local/lib/python2.7/site-packages (from ipython) Requirement already satisfied (use --upgrade to upgrade): pickleshare in /usr/local/lib/python2.7/site-packages (from ipython) Requirement already satisfied (use --upgrade to upgrade): simplegeneric>0.8 in /usr/local/lib/python2.7/site-packages (from ipython) Requirement already satisfied (use --upgrade to upgrade): decorator in /usr/local/lib/python2.7/site-packages (from ipython) Requirement already satisfied (use --upgrade to upgrade): gnureadline in /usr/local/lib/python2.7/site-packages (from ipython) Requirement already satisfied (use --upgrade to upgrade): appnope in /usr/local/lib/python2.7/site-packages (from ipython) Requirement already satisfied (use --upgrade to upgrade): pexpect in /usr/local/lib/python2.7/site-packages (from ipython) Requirement already satisfied (use --upgrade to upgrade): ipython-genutils in /usr/local/lib/python2.7/site-packages (from traitlets->ipython) Requirement already satisfied (use --upgrade to upgrade): path.py in /usr/local/lib/python2.7/site-packages (from pickleshare->ipython) Requirement already satisfied (use --upgrade to upgrade): ptyprocess>=0.5 in /usr/local/lib/python2.7/site-packages (from pexpect->ipython)
You start IPython by typing “ipython” in your terminal. $ ipython Python 2.7. 2 (default, Jun 20 2012, 16:23:33) Type "copyright", "credits" or "license" for more information. IPython 0.13.
To start a Python interactive session, just open a command-line or terminal and then type in python , or python3 depending on your Python installation, and then hit Enter .
Installing IPython itselfGiven a properly built Python, the basic interactive IPython shell will work with no external dependencies.
Searching the web for "bash: ipython: command not found"
turns up several hits (including this SO question), but they're not particularly helpful. From the sound of it, you have IPython
, the Python package installed, but ipython
—the entry point (i.e., wrapper/launcher script) for it—is missing for whatever reason. To check whether this is the case, try running:
% python -m IPython Python 2.7.9 (default, Feb 10 2015, 03:28:08) Type "copyright", "credits" or "license" for more information. IPython 4.0.0 -- 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]:
If that brings up IPython, then you might try making a shell alias as the SO answer linked above suggests, i.e., put something like this in your shell's startup script: alias ipython='python -m IPython'
. Or, create the launcher script yourself. For me, it lives in /usr/local/bin/ipython
and contains the following:
#!/usr/local/opt/python/bin/python2.7 # -*- 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())
Hope this helps. (If it does, please consider up-voting the other SO question as well...)
UPDATE: Here are some more possibly-relevant links:
The answer given by @evadeflow does the job, but there are several other packages installed with pip and it will be very uncomfortable to keep adding alias
for each of them. A rather elegant way would be to add the path where these packages are installed to the $PATH
variable. In my case adding the following line in ~/.bashrc did the job:
export PATH=$PATH:/home/my_user_name/.local/bin
Addl refs: https://askubuntu.com/q/551990/632996; https://askubuntu.com/q/556090
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With