Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to open IPython interpreter in emacs?

Tags:

In order to use IPython during Python development in Emacs, I have been opening up a terminal, and typing ipython. This doesn't seem like the right way to do it.

For one thing, my buffer lists this buffer as *ansi-term*, which is confusing, as I often end up with multiple terminals, one of which is dedicated to Python. I also see that I can open a python interpreter directly with M-x python-shell. It seems like there ought to be a similar option for IPython.

Is there a better way to use the IPython interpreter in Emacs?

I'm using Emacs 24 with Prelude.

like image 380
Eric Wilson Avatar asked Jul 23 '13 17:07

Eric Wilson


People also ask

How do I run IPython in Emacs?

Position your cursor at the very end of the code, right after the last parenthesis. Press C-j to evaluate the code. The name ipython pops up. Now you can execute this command as any other e.g. M-x ipython .

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

What interpreter does IPython use?

Can IPython run under IronPython/PyPy/Jython/other Python interpreters? ¶ The terminal-based shell should run on any interpreter which complies with the necessary version of Python. IPython 0.11 requires Python 2.6 or above, and as of June 2011, IronPython and PyPy both support this.


2 Answers

I don't know what Prelude is, but if you can install the latest Emacs (i.e, Emacs with Fabian's python-mode included), then you can use the following to let Python mode know your preferred choice of interpreter. Then you just need to call M-x run-python:

--

(when (executable-find "ipython")   (setq python-shell-interpreter "ipython")) 

--

like image 104
kindahero Avatar answered Sep 28 '22 19:09

kindahero


UPD Detailed instructions for beginners:

  1. Copy this:

    (defun ipython ()     (interactive)     (term "/usr/bin/ipython")) 
  2. Try first launching Emacs as emacs -q from the terminal. -q means don't load any customized code. It means that in this mode your emacs will behave exactly like mine.

  3. You should now be at the welcome screen. Press q.
  4. You should now be in the *scratch* buffer. Press C-y to paste the code you copied from the browser.
  5. Position your cursor at the very end of the code, right after the last parenthesis.
  6. Press C-j to evaluate the code. The name ipython pops up.
  7. Now you can execute this command as any other e.g. M-x ipython.
  8. If you want this change to become permanent, append the code to your ~/.emacs.
like image 32
abo-abo Avatar answered Sep 28 '22 18:09

abo-abo