python-mode is missing the class browser

Alexander Schmolck a.schmolck at
Fri Aug 8 18:37:01 CEST 2008

"Adam Jenkins" <emperorcezar at> writes:

> On Fri, Aug 8, 2008 at 7:32 AM, Michele Simionato
> <michele.simionato at> wrote:
>> On Aug 7, 5:55 pm, Alexander Schmolck <a.schmo... at> wrote:
> ...
>> I have solved by using ipython.el which was already installed. For the
>> sake of
>> future googlers using Ubuntu 8.04, emacs and ipython, it is enough if
>> you just add
>> (setq ipython-command "/usr/bin/ipython")
>> (require 'ipython)
>> to your .emacs. It is nice since I get the occasion to try ipython.el
>> which I am
>> sure I will like ;)
> So, I'm looking at the .el, but I'm not sure. What else does
> ipython.el give you than just the ipython shell?

What else could you possibly want? :)

Seriously, ipython.el is a simple kludge whose only function is to make
python-mode work with ipython (rather than python[*]). Despite this certain
primitiveness (c.f. slime), Emacs+ipython makes quite a powerful development
environment, significantly more so than ipython alone or emacs + python. Most
importantly thre is:

1. debug. Try it: write some code that will throw an unhandled exception, and
   just type ``debug``. Type ``u`` and ``d`` to go up and down the stack
   frame, and see the right file and line pop up in emacs. I really find that
   combined with the ability to do arbitrary things with the things I find on
   the stack incredibly useful for development. 

2. ? and ?? as well as ed. To get help on foo you just write ``foo?``. To get
   its source code as well type ``foo??``. Finally to edit the code that
   correspond's to foo's class or function definition (also works on class
   instances)) type ``ed foo`` (IIIRCk the default behavior is autoexecution,
   so you might want to re-alias).

3. Autocompletion with tab.

4. run (including -d and -p options). Try ``run?``

5. Matplotlib and gui stuff works interactively. (-pylab cmdline option)

6. Convenient Shell interaction (ls, !, int) and interpolation from and too

7. Pretty printing.

But there's plenty more stuff. The most useful in terms of added functionality
via emacs is 1, but isearch and emacs editing power make the ipython shell
output also noticably more useful (and thus things like ?, ?? and pretty



[*] Inter alia the prompt parsing stuff needs to be different and the ansi
    color formatting needs to be dealt with.

More information about the Python-list mailing list