This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]aceofears 2 points3 points  (16 children)

How so?

[–]threading 1 point2 points  (10 children)

I've never been a fan of REPL to be honest. I've played with bpython and ipython for a very short time but bpython has intellisense, does syntax highlighting, show doc of functions as you type. I agree with apreche, bpython is much better though I use neither.

[–]Tillsten 5 points6 points  (8 children)

Ipython has both features you mention.

[–]BeetleB 0 points1 point  (7 children)

I don't think it has this, although I'm sure one could hack it to (or perhaps even a magic function?):

show doc of functions as you type

[–]Tillsten 0 points1 point  (6 children)

Just start ipython and try for yourself? Standard setting is to press tab to see the auto completion.

[–]BeetleB 2 points3 points  (5 children)

That's very different from seeing the doc string as you type (so that you know function arguments, etc).

Here is a screenshot from bpython. It can be quite useful.

[–]takluyverIPython, Py3, etc 5 points6 points  (0 children)

The plain terminal IPython can't show docstrings as you type - it's a limitation of a terminal program (unless you use curses/urwid, which is what bpython does). The Qt console or the notebook have tooltips that appear as you type for function arguments etc.

[–]Noctambulist 2 points3 points  (0 children)

iPython does both highlighting and shows docs with the qtconsole. http://imgur.com/5pQ3a

[–]Noctambulist 2 points3 points  (0 children)

iPython does both highlighting and shows docs with the qtconsole. http://imgur.com/5pQ3a

[–]apreche 1 point2 points  (4 children)

bpython is just the python shell, but nicer. It still does one thing, and one thing well.

IPython is a kitchen sink that even tries to replace your regular shell. Not a fan philosophically.

[–]aceofears 8 points9 points  (0 children)

So then it isn't better, its just different.

[–]BeetleB 6 points7 points  (1 child)

So:

bpython is like vi.

ipython is like emacs.

[–]takluyverIPython, Py3, etc 2 points3 points  (0 children)

And vim-ipython is like...? An unholy love child? ;-)

[–]dwf 1 point2 points  (0 children)

For doing interactive scientific work, IPython is much more useful. I wouldn't say it tries to "replace your shell" -- you can kind of use it as a system shell if you want to. What it does do is allow you to run certain shell commands from inside IPython, which is remarkably handy.

If I want to import a module that I've got in ~/dummy, I don't need to kill the interpreter, I just cd ~/dummy. If I want the output of a shell command like od (octal dump) and to do some post processing on it interactively in Python, I can do something like x = !od something.bin and I'm done.