Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iPython installed but not found

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) 
like image 488
Adam Haber Avatar asked Dec 23 '15 18:12

Adam Haber


People also ask

How do I activate 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.

How do I enable IPython in terminal?

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 .

Is IPython installed with Python?

Installing IPython itselfGiven a properly built Python, the basic interactive IPython shell will work with no external dependencies.


2 Answers

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:

  • ipython: command not found on OSX
  • https://github.com/pypa/pip/issues/426
like image 166
evadeflow Avatar answered Sep 17 '22 16:09

evadeflow


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

like image 28
Parth92 Avatar answered Sep 18 '22 16:09

Parth92