2010-11-20 9 views
65

Ich mag wirklich ipython, aber eine meiner Kollegen zeigte mir bpython und ich mochte es sehr [1].ipython oder bpython?

Was hat ipython haben, dass bpython fehlt und umgekehrt? Wie unterscheiden sich die beiden?

[1] Das einzige, was Ich mag nicht die Tatsache, dass es den Bildschirm löscht, wenn es

+39

Ich stimme nicht mit der Entscheidung, diese Frage zu schließen. Es ist eine ausgezeichnete Frage, die tatsächliche, sachliche Antworten hat, die nicht auf Meinungen basieren, die ich gerne wissen würde. Das Auflisten der für jeden einzigartigen Merkmale ist keine Meinung - es ist eine Tatsache. Entweder ist ein Feature vorhanden oder nicht. Ob sich das Feature lohnt, ist eine Meinung, aber das ist nicht die Frage, die gestellt wird. – ArtOfWarfare

+0

check-out bypython-curtsies, es nicht den Bildschirm beim Start löschen, und es hat einige andere nette Funktionen: 'pip installieren Git + https: // github.com/thomasballinger/bpython.git @ knicksen' –

Antwort

57

startet Wenn Sie nur einen interaktiven Interpreter wollen, sollten bpython in Ordnung sein. Benutze es einfach, bis du eine Funktion vermisst hast, die dir an IPython gefallen hat.

Es gibt viele Funktionen, die IPython über bpython bietet:

  • Spezielle Threading-Optionen. Ich mag -gthread zum Experimentieren mit PyGTK und -pylab für Matplotlib.

  • direkten Aufruf von Shell-Befehlen. cd in IPython ist ziemlich nützlich.

  • Vollständige Unterstützung der readline-Bibliothek - Ich kann die Tastaturkürzel verwenden, die ich gewohnt bin.

  • Modul-Neuladefunktion - Sie können ein tiefes Neuladen eines Moduls durchführen, nachdem Sie Ihren Code geändert haben. Dies ist sehr nützlich zum Testen und Debuggen.

  • Im Hintergrund Funktionen in einer separaten Task mit %bg ausführen.

  • Eine ganze parallele Programmierumgebung (nicht wirklich ein Feature, das Sie von einer interaktiven Python-Shell erwarten, aber IPython bietet es an).

Diese Liste könnte fast beliebig fortgesetzt werden. Und natürlich gibt es viele Features in bpython, die von IPython fehlen, aber Sie haben nicht danach gefragt.

So nur verwenden Sie das, das für Sie funktioniert!

+0

interessant , Ich habe ipython auf meinem (Windows) Laptop für Tab-Vervollständigung verwendet, und es bietet grundlegende Befehlszeile? Zeit, einige Dokumente zu lesen ... – admalledd

+1

Was Mr. Marnach gesagt hat, ist alles wahr, und ich habe nicht viel hinzuzufügen: Ich benutze beide mit gleicher Häufigkeit - bpython ist besonders praktisch, um Pakete und Live-Objekt-Hierarchien zu untersuchen, und für Pastebinning-Snippets; ipythons Docstring/help/source-view-Verknüpfungen ('thing?' und 'thing ??') sind unverzichtbar. – fish2000

32

IPython Notebook (seit 0.12) ist eine Killer-Funktion.

+2

+1 ... Das IPython-Notebook ist genial –

+2

ipython rockt. für Anwendungsfälle, in denen bpython besser passte als ipython, obwohl ich dies bevorzuge: https: // github.com/jonathanslenders/ptpython. Schnellere Ausgabe als bpython knicksies mode und ansi color output funktioniert. –

+1

guter Vergleich hier: http://ballingt.com/prompt-toolkit –