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 i
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"))
--
You can use my Emacs extension called emacs-ipython for this.
https://github.com/burakbayramli/emacs-ipython
In a LaTeX buffer (you can change this to be any buffer) between code blocks with one keystroke it sends the python code to ipython kernel and displays the results in a verbatim block underneath.
Copy this:
(defun ipython ()
(interactive)
(term "/usr/bin/ipython"))
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.
*scratch*
buffer. Press C-y to paste
the code you copied from the browser.ipython
pops up.~/.emacs
.Edit: Whoops, the project below is a fork, not the official Prelude project. The second paragraph here still stands. Or you could try the fork.
It looks like Prelude already sets up ipython integration. Maybe your copy is out of date?
If M-x run-python
doesn't launch ipython, try adding (setq python-shell-interpreter "ipython")
to your init file (or just evaluating it) and running M-x run-python
again. After a quick test without Prelude that seems to be all that is necessary.
Seems a bit late, however was also having similar problem, wanted to have ipython as default python interpreter for my emacs 24.x. The following worked like a magic -
(require 'python)
(setq python-shell-interpreter "ipython")
(setq python-shell-interpreter-args "--pylab")
thanks to http://www.flannaghan.com/2013/08/29/ipython-emacs for saving my day and hopefully yours.
PS: seems having anaconda preinstalled in your system helps...
I've tried abo-abo's approach to running ipython inside of emacs. Its a pretty slick way of shortcutting shell functions within emacs. However, you do lose emacs functionality when you are in the shell (e.g. can't M-x o
out of the shell)
Instead, I personally think that using the Emacs builtin shell command (M-x shell
) is much better. You can run ipython within the Emacs builtin shell and still have all Emacs functionality that we all know and love.